一只猴子每天都会把树上一半的桃子偷走并额外吃一个,第十天猴子发现只剩下一个桃子了,求刚开始树上有多少个桃子?
def draw(n):
if n==10:
return 1
else:
return 2*(draw(n)+1)
print(draw(1))
为啥我这个代码运行不了呢?第一天摘的的桃子数是原来树上的桃子数总和吗
递归调用里的 n 应该加一,表示后一天,不然你这是死循环
def draw(n):
if n==10:
return 1
else:
return 2*(draw(n+1)+1)
print(draw(1))
1534
p = 1
for i in range(5,0,-1):
p = (p+1)*2
print(p)
# 或者
p = 1
print('第10天吃之前就剩1个桃子')
for i in range(9, 0, -1):
p = (p+1) * 2
print('第%s天吃之前还有%d个桃子' % (i, p))
print('第1天共摘了%s个桃子' % p)