Python實現斐波拉契數列

2022-08-23 17:36:07 字數 1294 閱讀 5782

斐波拉契數列

斐波那契數列(fibonacci sequence),又稱**分割數列、因數學家列昂納多·斐波那契(leonardoda fibonacci)以兔子繁殖為例子而引入,故又稱為「兔子數列」,指的是這樣乙個數列:1、1、2、3、5、8、13、21、34、……

在數學上,斐波那契數列以如下被以遞推的方法定義:

f(1)=1,f(2)=1, f(n)=f(n-1)+f(n-2)(n>=3,n∈n*)

python實現斐波拉契數列:

方法一:用for迴圈逐個列印出數列的值

def fibonacci1(n):

a,b = 0,1

for i in

range(n):

a,b =b,a+b

print a

方法二:用while迴圈逐個列印出數列的值

def

fibonacci2(n):

a =0

b = 1i =0

while i print

b a,b = b,a+b

i = i+1

方法三:用遞迴的方法,加上for迴圈,把每次迴圈產生的新項增加到數列最後,最後一次性輸出list

def

fibonacci3(n):

lis =

for i in

range(n):

if i ==1 or i ==0:

else

:

print lis

方法四:用遞迴的方法,加上while迴圈,把每次迴圈產生的新項增加到數列最後,最後一次性輸出list

def

fibonacci4(n):

lis=

i=0while iif i==0 or i ==1:

else

: i = i + 1

print lis

方法五:先用遞迴的方法,定義乙個返回第n項值的函式fn,再加上for迴圈,以此返回全部n項的值。

def

fibonacci5(n):

deffn(i):

if i <2:

return 1

else

:

return (fn(i-2)+fn(i-1))

for i in

range(n):

print fn(i)

斐波拉契數列 Python

斐波拉契數列 這個數列從第三項開始,每一項都等於前兩項之和 題目內容 已知斐波拉契數列的前兩項都是1,我們定義求斐波拉契數列的第n項 n 50 的函式為fbnq,程式主體如下 n int input print fbnq n 請補充完成對fbnq函式的定義。輸入格式 共一行,為乙個正整數。輸出格式 ...

python數列 Python斐波拉契數列

1 2 4.古典問題 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後3 每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?4 兔子的規律為數列1,1,2,3,5,8,13,21.5 6 a,b 0,1 7 moon int input 請輸入月數 8 moon 5...

斐波拉契數列

斐波拉契數列 1 1 2 3 5 8 13 21 34.其中每乙個數字都是前兩個數字的和。遞迴計算 long fibonacci int n 非遞迴計算 long fibonacci int n return result 這個函式的遞迴實現使用了雙重遞迴 double recursion 函式對本...