关于递归和两个变量计算斐波那契:
import time
#计算递归斐波那契时间消耗
n=int(input('请输入一个整数:'))
start = time.time()
def fab(n):
if n<1:
print('输入有误!')
return -1
if n==1 or n==2:
return 1
else:
return fab(n-1)+fab(n-2)
print(fab(n))
end = time.time()
print("运行时间:%.2f秒"%(end-start))
#计算两个变量时间消耗
start = time.time()
a, b = 0, 1
cn = 1
while cn < n:
a, b = b, a+b
cn += 1
print(b)
end = time.time()
print("运行时间:%.2f秒"%(end-start))
结果如下:
请输入一个整数:35
9227465
运行时间:3.37秒
9227465
运行时间:0.00秒
大于 30 以后两种方法的时间对比就很明显了,所以教程的方法还是省时省空间的。
Tikiten
Tikiten
176***2852@qq.com1年前 (2019-07-10)