猴子吃桃问题详细解答python实现

  • Post author:
  • Post category:python

猴子吃桃问题详解

题目描述:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第五天早上想再吃时,见只剩下一个桃子了。请编写程序计算猴子第一天共摘了多少桃子。
分析:今天的桃子 = 昨天的桃子 / 2 -1
即:第i天的桃子数 = 第i-1天的桃子数/2 – 1
= (第i+1天桃子数+1)* 2。
依次类推:最后一天有一个桃,则前一天有(1+1)*2=4个桃,只要给出天数day,即可算出第一天有几个桃n
代码如下:

print("方法1:")
day = eval(input("请输入天数:"))
n = 1
print("第{}天有{}个桃\n".format(day,n),end='')
for i in range(day-1,0,-1):
    n = (n+1)<<1
    print("第{}天有{}个桃".format(i,n),end='')
    print(' ')

运行截图:
计算猴子摘桃次数


版权声明:本文为qq_43664340原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。