请C语言高手帮忙解答,

来源:百度知道 编辑:UC知道 时间:2024/05/14 09:37:06
请C语言高手解答,猴子第一天摘下若干个桃子,当既吃了一半,还不过瘾,又吃了一个,第二天早上,又将剩下的桃子吃掉一半,又多吃了一个,以后每天早晨都吃了前一天剩下的一个半零一个,到第10天早上想在吃时,就只剩下一个桃子了,求第一天共摘多少个桃子

#include <stdio.h>

int main()
{
int a=1,i;
for (i=10;i>1;i--)
{
a=(a+1)*2;
}
printf("猴子第一天摘了%d个桃子",a);
getchar();
}
正确答案:1566

使用递归函数
Sn=2S(n+1)+2
S10=1
求S1
编程如下:
#include<stdio.h>
int taozi(int)
main()
{
int m;
m=taozi(1);
printf("%d",m);
}
int taozi(int n)
{
int c;
if(n==10) c=1;
else c=2*taozi(n+1)+2;
return c;
}

#include <stdio.h>
main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2; /*第一天的桃子数是第2天桃子数加1后的2倍*/
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}

同意第一种答案