這題得倒着推。第10天還沒吃,就剩1個,說明第9天吃完一半再吃1個還剩1個,假設第9天還沒吃之前有桃子p個,可得:p * 1/2 - 1 = 1,可得 p = 4。以此類推,即可手算出。
代碼思路為:第10天還沒吃之前的桃子數量初始化 p = 1,之后從9至1循環9次,根據上述公式反推為 p = (p+1) * 2 可得第1天還沒吃之前的桃子數量。
#方法一
p = 1
print('第10天吃之前就剩1個桃子')
for i in range(1, 10):
p = (p+1) * 2
print('第%s天吃之前還有%s個桃子' % (i, p))
print('第1天共摘了%s個桃子' % p)
#方法二
# p = 1
# print('第10天吃之前就剩1個桃子')
# for i in range(9, 0, -1):
# p = (p+1) * 2
# print('第%s天吃之前還有%s個桃子' % (i, p))
# print('第1天共摘了%s個桃子' % p)
