您的位置:首页 > 其它

猴子吃桃问题。

2018-03-29 21:02 127 查看
22. 猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
                            第二天又将剩下的桃子吃掉一半,又多吃了一个。
                           以后每天早上都吃了前一天剩下的一半另加一个。
                           到第10天早上想再吃时,就只剩一个桃子了。   求第1天共摘了多少个桃子。
分析:递归解题思路:从已知事实出发,求未知结果。
         该题中,已知事实为:第10天共有1个桃子。
                      未知结果为:第1天共摘了多少桃子?
        那么:找出 已知事实 和 未知结果 之间的关系:
                                             由第10天没吃前共有1个桃子,可得出第9天 没吃前 共有几个桃子?找出他们之间的关系。
设第10天没吃前共有n10个桃子,第9天没吃前共有n9个桃子:
       由题意得:第9天吃了 (n9/2+1)
                        第9天剩了n9-(n9/2+1)     第9天剩的 就等于 第10天没吃前的桃子
                得:n9-(n9/2+1) =n10
         整理得:n9=2*n10+2    这个公式很重要很关键,它是递归时主要用到的。
                      由这个公式,推出:n8=2*n9+2       n7=2*n8+2
                      想求n1->就得求n2,想求n2,就得求n3..........总结:想求n1,最终就得靠n10求出
                      (n1表示第1天没吃前的桃子个数)
代码如下:


while循环:


for循环:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: