day17
猴子吃桃
猴子吃桃问题:猴子第一天摘下若干个桃子, 当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下 的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。 求第一天共摘了多少?
分析
1.正向推理
设猴子第一天摘桃子n
第n天 吃桃子数 剩余桃子数 桃子总数
1 n/2+1 n-n/2-1=n/2-1 n
2 (n/2-1)/2+1 n/2-1-(n/2-1)/2-1 (n-2)/2
3 (n-6)/8 +1 (n-6)/4- (n-6)/8 -1 (n-6)/4
4 (n-26)/8
2.逆向推理
第n天 吃桃子数 剩余桃子数 桃子总数
10 1 1
9 2+1 1 4= (1+1)*2
8 5+1 4 10= (4+1)*2
7 11+1 10 22= (10+1)*2
编码实现
1.编码实现(递归)
def fun(n):
if n==1:

这篇博客探讨了猴子吃桃的经典问题,通过正向和逆向推理分析了问题,并提供了使用Python的递归编码实现。从第一天的桃子数量开始,每次猴子吃掉剩下的一半再加一个,直到第10天只剩下一颗桃子,求解最初有多少颗桃子。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



