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天没吃前的桃子个数)