黑马程序员技术交流社区

标题: 猴子吃桃问题 [打印本页]

作者: normalwzh    时间: 2015-11-11 20:21
标题: 猴子吃桃问题
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从后往前推断。
2.程序源代码:
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);
}
作者: 许庭洲    时间: 2015-11-12 08:58
值得学习ing!
作者: 韦德460    时间: 2015-11-12 20:38
这个老师以前好像讲过
作者: 大雕会飞    时间: 2015-11-12 20:40
算法的题,好好学习下。。。。
作者: 伍陶陶    时间: 2015-11-12 21:32
递归问题。
作者: 勇猛的小黑    时间: 2015-11-12 21:59
八错八错
作者: 陌忆    时间: 2015-11-12 22:50
递归问题。。。。
作者: 18537947462    时间: 2015-11-13 21:59
先顶一下,再看
作者: wuxiaoling    时间: 2015-11-13 22:02
这个问题很巧妙
作者: 江流石不动    时间: 2015-11-13 22:20
{:2_30:}大家水才是真的水
作者: xiaolang110    时间: 2015-11-13 23:27
呵呵!我来啦!抢个沙发,表示大家要加油学习!ggogi
作者: huihui1030    时间: 2015-11-14 00:14
趣味编程,,,感觉棒棒哒。。。。
作者: lujia1010    时间: 2015-11-14 12:43
这题可以用普通循环for/while做,也可以用递归,还可以用移位运算符做,左移。其中左移是最有效率的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2