猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下

    xiaoxiao2021-03-26  62

    题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 第一次思考是正着推,后来感觉不太好推,就放弃了。 桃子总数:sum 第一天吃: sum/2 +1 第二天 : (sum/2+1-2)/2 +1 第三天: ((sum/2+1-2)/2 +1-2)/2 +1 。。。。 第二次思考是倒着推的,第十天为一个,第九天就为 (sum+1)*2,先加一是他吃了一半又吃了一个,再乘2是他之前剩的总数。 通过eclipse的断点调试获得了每一天剩的桃子数。 第十天: 1 sum 第九天: 4 sum*2+2 (sum*2)/2 +1 第八天: 10 第七天 22 第六天: 46 第五天: 94 第四天: 190 第三天: 382 第二天: 766 第一天: 1534

    int sum = 1; //第十天的第一个桃子 for(int i = 9; i >= 1;i--) {//倒着循环直至第一天,从第九天开始循环。 sum = sum *2 +2; //每一天的桃子都是叠加的 System.out.println("第"+i+"天的桃子数为:"+sum); } }
    转载请注明原文地址: https://ju.6miu.com/read-550096.html

    最新回复(0)