猴子论坛

首页 » 常识 » 种类 » ghpython猴子吃桃
TUhjnbcbe - 2021/5/5 18:00:00
皮肤病治疗最好的医院 http://baidianfeng.39.net/a_bdfys/131228/4318829.html

今天咱们继续来看老潘微博里的一个python小案例。

今天的案例是一个很典型的数学题,利用python的递归可以很容易解决。

#潘石屹_猴子吃桃的问题"""有一只猴子,第一天摘下若干个桃子,当即吃了一半,吃完还不过瘾,又多吃了一个。第二天早上,这只猴子又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上这只猴子都吃了前一天剩下的桃子的一半且多一个。到第十天早上,这只猴子再想吃桃子时,只剩下一个了。求出第一天这只猴子一共摘了多少个桃子。"""#老潘解法#整体思路是正向求解,假设今天剩下x个,他吃的是昨天的一半多一个,那他如果少吃一个#就正好是昨天的一半,也就可以得出昨天为2*(x+1)#利用for循环来控制遍历次数,对应为天数num=1foriinrange(9,0,-1):num=(num+1)*2print("第1天摘得桃子数为%d"%num)#我的解法#设f(n)为第n天早上剩余的桃子数目,根据题目可得f(10)=1#根据题意也可知f(n+1)=f(n)-(f(n)/2+1),即f(n)=2*(f(n+1)+1)deff(n):ifn==10:return1else:return2*(f(n+1)+1)print("第1天摘得桃子数为%d"%f(1))

欢迎

1
查看完整版本: ghpython猴子吃桃