01:猴子吃桃
猴子第一天摘下若干个桃子,当即吃了一半,好不过瘾,又多吃了一个。第二天早上又吃了剩下的桃子的一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个,到第10 天早上想再吃的时候,就剩下一个桃子。求第一天共摘多少个桃子。
###代码如下###
#include<iostream>
using namespace std;
int main()
{
int a[11];
a[10]=1;
for(int i=10;i>=1;i--)
a[i-1]=(a[i]+1)*2;
cout<<a[1]<<endl;
return 0;
}
解析:以第一天,第二天为例,设第一天的桃子数为a,第二天的为b,
“每天都吃了前一天剩下的一半零一个”则b=a/2-1,则a=2(b+1);
a[i]表示第i天的桃子数量,第10天剩下1个,是a[10]=1,问题是求第1天的桃子数量。
也即是a[1]。