当前分类:300例题>>正文

python算法例9:猴子吃桃问题

来源:互联网   更新时间:2022年6月15日  

这个是比较经典的一个python算法练习题。

题目:

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

分析:

这种算法题,最好是先动手算一算,找下其中的规律。

s10=1

s10=s9/2-1,所以s9=(s10+1)*2

s9=s8/2-1,s8=(s9+1)*2

后面的就不用写了,规律已经出来了。

python3.9代码如下:

t=1
s=[1]
for i in range(1,10):
    t=2*(t+1)
    s.append(t)
s.sort(reverse=True)
print("每天剩余桃子数:",s)
print("第一天桃子数为%d"%(s[0]))

输出结果如下

输出结果

这个主要是采用逆向思维的方法,由后往前推导!

交流学习python编程,加微信acboy88

本文固定链接:https://6yhj.com/leku-p-2490.html  版权所有,转载请保留本地址!
[猜你喜欢]

标签: