"""
猴⼦吃桃问题(递归):
猴⼦第一天摘下若⼲个桃⼦,当即吃了一半,还不瘾,⼜多吃了一个。第
2天早上⼜将剩下的桃⼦吃掉⼀半,⼜多吃了一个。以后每天早上都吃了前
一天剩的一半零一个。到第10天早上想再吃时,⻅只剩下一个桃字了,求第一天共摘了多少桃⼦?
"""
# 一共摘了n个桃子,
# d1 = n/2+1
# d2 = (n-d1)/2+1
# d3 = (n-d1-d2)/2+1
#
# d9 = (n-d1-d2-d3-d4-d5-d6-d7-d8)/2+1
# d10 = n-d1-d2-d3-d4-d5-d6-d7-d8-d9 = 1 1+d9 = (d9 -1)*2
# 第九天:d9 =(1+d10)*2
# 第八天:d8 = (1 +d9)*2
# 方法一
n = 1
# 循环了九次
for i in range(9, 0, -1):
n = (n + 1) * 2
print(n)
方法二
def peach(num):
if num == 10:
return 1
r = (peach(num + 1) + 1) * 2
return r
print(peach(1))
方法三
def peach(num):
if num == 1:
return 1
r = (peach(num - 1) + 1) * 2
return r
print(peach(10))
猴子吃桃的问题
于 2021-06-02 15:37:11 首次发布