0基础教程习题7—猴子吃桃

猴子吃桃


1、题目要求

 

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


2、程序分析

 

  • 第10天只有一个桃
  • 第9天应该有4个桃
  • 第8天应该有10个桃

以此类推


3、示例代码

#coding=utf-8

total = 1
for day in range(9,0,-1):
    total = (total+1)*2

print total

 

上面的代码虽然简洁,但是阅读起来却有一些难理解,可以参考下面的代码重新理解

#coding=utf-8

current = 1
for day in range(9,0,-1):
    yestoday = (current+1)*2
    current = yestoday

print yestoday