猴子吃桃问题:猴子第一天摘下若干桃子,当即吃了一半。还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。此后的每一次都吃前一天所剩桃子的一半,再多吃一个。第十天早上发现,只剩一个桃子。
方法一:
从前往后推导,第一天采了 x 个桃子,x/2 - 1 = 剩下的桃子。
所以 ( 剩下的桃子 + 1 ) * 2 = 等于 x ,此处的 x 为前一天的桃子。
#include <stdio.h>
int main()
{
int i = 1, j, sum = 0 ;
for (j = 1 ; j <= 9 ;j++)
{
sum = sum + (i+1)*2 ;
}
sum = sum + 1 ;
printf("猴子一共采了%d个桃子\n",sum) ;
return 0;
}
/*
第十天:1
第九天:4
第八天:10
第七天:22
*/