问题描述:
一只小猴子一天摘了许多桃子,第一天吃了一半,然后忍不住又吃了一个;第二天又吃了剩下的一半,再加上一个;后面每天都是这样吃。到第10天的时候,小猴子发现只有一个桃子了。问小猴子第一天共摘了多少个桃子。
主要思路:
利用逆向思维反向推进。
第十天——1
第九天——4
第八天——10
第七天——22
第六天——46
第五天——94
第四天——190
第三天——382
第二天——776
第一天——1534
由此可以寻找规律:a=2*(a+1)
代码实现:
#include <stdio.h>
int main() {
int a=1,b;//a为桃子总数,b为天数
for(b=1;b<10;b++)
a=2*(a+1);
printf("桃子的总数是:%d",a);
return 0;
}
运行结果: