python猴子吃桃子第一天吃了一半又一个_Python练习实例21 | 猴子吃桃问题。

2023-05-16

我们首先来看一下具体的问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

比较简单的解法,是可以采用逆向思维的方法来进行求解,具体如下图所示:

# 将最后一天的剩余桃子数1赋值给m,第一天猴子采的总数为n

m = 1 # 将最后一天桃子的数量赋值给m

for i in range(9,0,-1): # 逆向循环求得总数

n = (m+1)*2 # 将后一天的数量赋值给前一天

m = n

print(n) # 打印出结果

可以看到这种解法非常的简单。

当然啦,除此之外,我们还可以使用递归函数进行实现

def f(n): #我们首先定义一个函数

if n == 1: # 如果n=1 的时候 返回值为1

return 1

else: # 否则,返回值为其前一天的数

return (f(n-1)+1)*2

print(f(10))

for _ in range(10,0,-1):

print("第",_," 天对应的数量为:",f(_))

这种方式,打印出来的结果如下所示:

1534

第 10 天对应的数量为: 1534

第 9 天对应的数量为: 766

第 8 天对应的数量为: 382

第 7 天对应的数量为: 190

第 6 天对应的数量为: 94

第 5 天对应的数量为: 46

第 4 天对应的数量为: 22

第 3 天对应的数量为: 10

第 2 天对应的数量为: 4

第 1 天对应的数量为: 1

好了,以上就是今天我们分享的内容啦!

2020年2月23日

北京市通州区京贸中心

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python猴子吃桃子第一天吃了一半又一个_Python练习实例21 | 猴子吃桃问题。 的相关文章

随机推荐