问题:猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
思路:用递归求解,注意是从最后一天向前递归,因此要乘2,另外,多出来的1个应属于剩下的一半,应先加上在这1个再乘以2
代码:
#include<stdio.h>
int peach(int n)
{
if (n == 1)
return 1;
else return (digui(n-1)+1)*2;
}
int main()
{
int n;
while (~scanf("%d",&n))
{
printf("%d\n",peach(n));
}
}