这课里的fibonacci递归函数,也常称为花瓣序列, 1,1,2,3,5... 后一个数是前两个数之和。
在python中,建议用for函数代替递归函数,效率更高
def fibonacci(n):
s1 = 0
s2 = 1
for a in range(0,n):
s1, s2 = s2,s1+s2
return s1
可以看见,给两个变量s1,s2,同时赋值,简单可以实现叠加效果。
python中,可以定义函数def xxx, 也可以不用函数,直接几行代码print,如:
m = 1
while fibonacci(m) * 2 < 5.977 * 10**24:
m = m + 1
print m, fibonacci(m)