问题:一只猴子摘了很多桃子,每天吃现有桃子的一半多一个,到第十天时只有一个桃子,问原有桃子多少个?
算法实现:由于每天的桃子个数依赖于前一天的桃子个数,属于逆推法。设函数MonkeyPeach实现猴子吃桃问题,变量num表示桃子的个数,程序如下
#include<iostream>
using namespace std;
int MonkeyPeach(int n);
int main()
{
int n=10;
cout<<MonkeyPeach(n)<<endl;
return 0;
}
int MonkeyPeach(int n)
{
int i,num=1;
for(i=n-1;i>=1;i--)
num=(num+1)*2;
return num;
}