斐波那契数列
1 1 2 3 5 8 13 21
计算运行时间
import time
start=time.time()
#中间写上代码块
end=time.time()
print('Running time: %s Seconds'%(end-start))
输出指定数
输入n 输出an
def fibo(n) :
if n == 1 or n == 2:
return 1
else:
return int( 1 / 5 ** 0.5 * ( ((1 + 5 ** 0.5)/2) ** n - ((1 - 5 ** 0.5)/2) ** n ) )
使用通项公式输出前n个数
def fibo(n) :
if n == 1 or n == 2:
return 1
else:
return int( 1 / 5 ** 0.5 * ( ((1 + 5 ** 0.5)/2) ** n - ((1 - 5 ** 0.5)/2) ** n ) )
res = []
n = 5
for i in range(n):
res.append(fibo(i+1))
print(res)
不使用通项公式输出前n个数
res = []
n = 5
for i in range(n):
if i == 0 or i == 1:
res.append(1)
else:
res.append(res[i - 1] + res[i - 2])
print(res)
使用递归输出指定数
def fibo(n) :
if n == 1 or n == 2:
return 1
else:
return fibo( n-1 ) + fibo( n-2 )