题目描述

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

输入格式

N

输出格式

桃子总数

样例输入

10

样例输出

1534

代码演示:

N = int(input())
m = 1
for i in range(1, N):
n = 2 * (m + 1)
m = n
print(n)

解题思路:

本题可以倒着来思考,首先已知最后一天为一个,并且知道猴子吃桃的规律

可以算出倒数第二天吃的

以此为循环,可以算出每一次的前一天吃的

循环的范围为N-1天,因为第N天已经知道且为1