先来看看题目:
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天所摘桃子的个数。
嗯...逆推的方法就直接代码不解释了:
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int d=9,a=1,b=0; for(;d>0;d--) { b=(a+1)*2; a=b; printf("%d\n",b); } system("pause"); return 0; }
接下来就是正推遍历的方法了:
正推肯定的是对总数x 进行自增来进行。发现了桃子剩余数量和天数的关系式: