1. 程式人生 > 其它 >python的日常小練習(二)

python的日常小練習(二)

技術標籤:個人程式設計python

題目:斐波那契數列。

思路:斐波那契數列(Fibonacci sequence),又稱黃金分割數列,指的是這樣一個數列:0、1、1、2、3、5、8、13、21、34、……

在數學上,費波那契數列是以遞迴的方法來定義:
F0 = 0 (n=0)
F1 = 1 (n=1)
Fn = F[n-1]+ Fn-2

實現:
1、
def fib(n):
a,b = 1,1
for i in range(n-1):
a,b = b,a+b
return a
print (fib(10))
2、使用遞迴
def fib(n):
if n1 or n2:
return 1
return fib(n-1)+fib(n-2)

print (fib(10))
輸出結果:第10個斐波那契數列

	55

3、
def fib(n):
if n == 1:
return [1]
if n == 2:
return [1, 1]
fibs = [1, 1]
for i in range(2, n):
fibs.append(fibs[-1] + fibs[-2])
return fibs
輸出十個
print (fib(10))

輸出結果:

	[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]