递归典型小题
题目:猴子第一天摘了若干个桃子,当即吃了一半,
还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;
以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子
关键规律:前一天桃子的数量=(后一天桃子的数量+1)*2
#include <iostream>
#include <cstdio>
using namespace std;
int dfs(int n)
{
if (n==10) return 1;
else if (n>=1&&n<=9)
{
return (dfs(n+1)+1)*2;
}
}
int main()
{
int n;
cin>>n;
int ans=dfs(n);
cout<<ans<<endl;
return 0;
}