猴子吃桃问题详解
题目描述:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第五天早上想再吃时,见只剩下一个桃子了。请编写程序计算猴子第一天共摘了多少桃子。
分析:今天的桃子 = 昨天的桃子 / 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 版权协议,转载请附上原文出处链接和本声明。