【Python】【demo实验22】【练习实例】【猴子吃桃问题】
原题:
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
分析:
两种解答方式:第一种,顺推,第二种,倒推
我的源码:
#!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 -*- # 猴子吃桃问题: # 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 # 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 # 以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 # 吃了10天,至少有11个桃; k = 11 # 最初至少有11个; # #总共s个桃; s = 0 while(1): i = k print(k) if (i/2-1)%2 == 0 : for j in range(1,10): # 吃了9天,最后剩下1个; i = i - i* 0.5 - 1 # 计算第j天剩下的套子 if not (i == int(i)): break else : print(j,i) if i == 1: print("########",i,"day",k) break else : k = k+1 else : k = k+1 continue
输出结果:
原题给出的解答:
————————(我是分割线)————————
参考:
1. RUNOOB.COM:https://www.runoob.com/python/python-exercise-example21.html
备注:
初次编辑时间:2019年10月3日14:08:25
环境:Windows 7 / Python 3.7.2
————————
欢迎访问我的博客;
如果您觉得有用,请点赞!
说明:
标题带有*表示重要或待重新查看确认
标题带有#表示未编辑完成;待补充
标题带有######表示为概要目录