python3练习100题——021
题目很容易,只要理清了数学思想就可以解出来,所以本来不是很喜欢这种题。
后来看到有大神用递归解,觉得还是很值得学习的。
原题链接:http://www.runoob.com/python/python-exercise-example21.html
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
我的代码:
x=1 for i in range(0,9): #注意是1天到10天,吃了9次 x=(x+1)*2 print(x)
看了递归思想后学写的代码:
def peach(n): if n==1: return 1 else: return (peach(n-1)+1)*2 #n=10 这一行代码也是运行了9次 print(peach(10))