问题描述:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第 10 天早上想再吃时,发现只剩下一个桃子了。编写程序求猴子第一天摘了多少个桃子。
#include <stdio.h>
int main() {
int day = 9,d1=0;
int d2=1;//第10天只剩一个桃子
while(day!=0){
d1=(d2+1)*2;
d2=d1;
day--;
}
printf("%d",d1);
return 0;
}
该程序使用递归的思想,第一天桃子的数量是第二天桃子数量加一的两倍
第十天的桃子是数是1所以day9=(day10 +1)*2
输出结果: