例3:猴子吃桃

小猴摘了很多桃子。 第一天吃了一半又多吃一个; 第二天又吃掉剩下的一半再多 吃一个; ……以后每天都是吃前一天剩下的一半再多一个。 如此下去,到第十天恰 好还剩一个桃子。 问第一天小猴摘了多少桃子?

问题分析: 已知条件每天都是吃前一天剩下的一半再多一个。隐含条件前一天的桃子个 数等于后一天桃子的个数加 1 的 2 倍。

已知第10天的桃子数为1个,求第一天的桃子数——采取逆向思维的方法,从 后往前推,可用逆推法求解。

#include <cstdio> 
using namespace std;
int a[11]; int main() {
a[
10]=1; for(int i=9;i>=1;i--) a[i]=(a[i+1]+1)*2; printf("%d\n",a[1]);
return 0; }

 

posted @ 2022-07-01 20:39  xxsy387  阅读(208)  评论(0)    收藏  举报