首页上一页 1 下一页尾页 1 条记录 1/1页
猴子吃桃重大发现
发表在C语言图书答疑
2013-10-19
是否精华
是
否
版块置顶:
是
否
原题目是这样的:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下桃子的一半零一个。到第10天早上想再吃时,发现只剩下一个桃子了。编写程序,求第一天共摘了多少桃子。
书上的写法是这样的:
关键思路:第一天的桃子数是第二天桃子数加1的2倍。
#include<stdio.h>
main()
{
int day,x1,x2;
day=9; //关键是这里!
x2=1; //从第10天算起,往回推。
while(day>0)
{
x1=(x2+1)*2;
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}
其实这样算出的答案有问题,因为题目是要求第一天共摘了多少桃子,以上算法只是第一天猴子吃桃之后所剩下的桃子数目,所以,以上的day变量应该设为10,而不是9!
书上的写法是这样的:
关键思路:第一天的桃子数是第二天桃子数加1的2倍。
#include<stdio.h>
main()
{
int day,x1,x2;
day=9; //关键是这里!
x2=1; //从第10天算起,往回推。
while(day>0)
{
x1=(x2+1)*2;
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}
其实这样算出的答案有问题,因为题目是要求第一天共摘了多少桃子,以上算法只是第一天猴子吃桃之后所剩下的桃子数目,所以,以上的day变量应该设为10,而不是9!