标题:[求助]猴子吃桃
只看楼主
s119446775
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-25
得分:0 
不好意思 这是没吃前的数目
2007-10-31 14:47
xlin1033xl
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:160
专家分:129
注 册:2007-6-24
得分:0 

猴子第一天摘了一些桃子,当天吃一半加1个,以后每天吃前天剩下的一半加1个,10天后只剩下1只,求第一天摘了多少?
1)似乎是第11天一个桃子,我想桃子不是用"只"来计量的.........
2)每天吃前天剩下的一半加1个,也就是后一天是前一天的一半减去1即S(N)=(S(N+1)+1)*2,n=1,2,3,4,5,6,7,8,9,10
3)最后一天剩1,则S(11)=1

给个解法,没有环境所以没有调试

#include<stdio.h>

long Sn(long n)
{
if(11==n)
return(1);
else
return 2*(Sn(n+1)+1);

}

int main()
{
int n;

while(1)
{
scanf("%d",&n);
if(0==n)break;
printf("%d\n",Sn(n));
}
return 0;
}


-------------程序*酒*人生
2007-10-31 15:23
hczsea
Rank: 2
等 级:论坛游民
帖 子:129
专家分:68
注 册:2007-10-23
得分:0 
for(n=10;n<10000;n+=2)改为for(n=10;n<10000;n++)就可以了。
2007-10-31 15:51
hczsea
Rank: 2
等 级:论坛游民
帖 子:129
专家分:68
注 册:2007-10-23
得分:0 

#include<stdio.h>

int fun(int n)
{
if (n == 1)
return 1;
else
return ((fun(n-1)+1)*2);
}

int main()
{
int m;

m = fun(11);

printf(("%d\n",m);

return 0;
}

以上代码运行结果:3070。

2007-10-31 16:10
Allul85
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-10-29
得分:0 
太麻烦了吧
main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;/*后一天+1后的2倍是前一天的*/
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}

2007-10-31 16:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-180961-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.288470 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved