# 从宇宙大爆炸开始,每秒10亿次的超级计算机,开始计算斐波那契数列,请问计算到多少的n,数字大概是多少? # 假设宇宙大爆炸到现在135亿年 # 135*365*24*3600*10**8*10**9=1.618^n import numpy as np n=(17+np.log(135*365*24*3600))/np.log(1.618) print(n) # 采用递归算法大约可以计算到81次
# 采用递归法计算斐波那契数列 def fib(n): if n<2: return 1 else: return fib(n-1)+fib(n-2) print(fib(81)) # 注:不用算了,时间太长
# 其他算法 def fib(n): f1=f2=1 for k in range(1,n): f1,f2=f2,f1+f2 return f2 print(fib(81))
使用递归法虽然算法很简单,但是,似乎不能规模太大,要不然消耗的时间太多。