请用C语言编写一个程序,“猴子吃桃”问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 00:44:49
请编写一个程序,采用递推法完成下述猴子吃桃的问题:猴子得到一堆桃,当天吃了一半之后,又多吃了1个。以后每天,猴子都吃了剩余的一半桃子之后,又多吃一个。在第10天,只剩下1个桃子。输出这堆桃最初有多少个。

递推法:
#include <stdio.h>
void main()
{
int day,n;
for(day=10,n=1;day>0;day--){
printf("第%d天有%d个\n",day,n);
n=2*n+2;
}
}

递归法:
#include <stdio.h>
int monkey(int day){
int n;
if(day==10) return 1;
else
return n=2*monkey(day+1)+2;
}

void main()
{
int day;
printf("%d",monkey(1));

}

#include<iostream.h>
int main()
{
int i,j,sum;
i=9;
sum=1;
while(i>=1)
{
sum=(sum+1)*2;
i--;
}
cout<<"一共的桃子数:"<<sum<<endl;
return 0;
}