题目:
猴子买一堆桃不知个数,每天吃桃子一半多一个,第n天只剩一个桃,问一开始买了几个桃。输入整数n(2<=n<=30)。输出买的桃的数量。
样例输入2,输出4。
样例输入3,输出10。
分析与解答:
现在是知道第n天剩的桃求第1天的桃,第i天的桃等于(第i+1天的剩的桃+1)*2,因此有:f(i)=(f(i+1)+1)∗2f(i)=(f(i+1)+1)*2f(i)=(f(i+1)+1)∗2,结束条件是f(n)=1f(n)=1f(n)=1。
#include<iostream>
using namespace std;
int n;
int f(int x){if(x==n) return 1;else return (f(x+1)+1)*2;
}
int main(){cin>>n;cout<<f(1);return 0;
}