程序算法之逆推法(口算猴子摘桃问题正解、详解)

偶然间看到有篇猴子摘桃问题的博文,问题蛮有趣的,只是他的答案令人不敢恭维.....问题如下:

剩下的桃子比之前的全部的一半少一个,那么每天吃掉的桃子数量就是之前的全部多一个。由每天吃桃子之前剩下的桃子数量是:n=(n+1)*2; n=n*2+2每天吃过剩下的桃子数量是:n=(n-1)*2;n=n*2-2。那么每天的桃子总数必定是2n=2n+2n+2-2;2n=2n+2n必定为偶数。而最后一天吃掉的桃子数量必然是(x/2)+1=x;(x-1)=(x/2);2x-2=x;2x=x+2;x=2;一个就等于一半的数量即必定等于2。而最后一天的总数为2,那么接下来每天的桃子总数就是2n=2n+2n;即总数=2的平方*n-2

2的五次方=32。32*32=64+960=1024。1024*2-2=2048-2=2046即为猴子摘下来的桃子总数。

有一只猴子,摘了很多桃子,他每天吃掉一些,剩下的桃子比之前的全部的一半少一个。他吃了十天才吃完,请问他一共摘了多少桃子?     

程序算法之逆推法(口算猴子摘桃问题正解、详解)