题目:
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
解题思路:
可以倒着推,第N还剩下一个桃子,第N天并没有吃,直接从N-1天往前推,每天都是吃掉前一天的一半加一个, 先加一个再乘2
代码:
m = 1
N = int(input('输入天数: '))
while N > 1: # 因为最后一天还有一个桃子,也就是说最后一天没有吃,总天数是n-1天
m = (m + 1) * 2
N -= 1
print(m)
运行结果:
输入天数: 10
1534