python計算斐波那契數列

2022-09-18 15:51:18 字數 1663 閱讀 7015

斐波那契數列就是**分割數列

第一項加第二項等於第三項,以此類推

第二項加第三項等於第四項

**如下

這一段**實現fib(n)函式返回第n項,printfn(m,n,i)函式實現輸出第i項斐波那契數列,輸出在m到n之間的斐波那契數的數量

def fib(n) :

x = 0

x1 = 1

x2 = 1

i = 2

while i <= n :

i = i + 1

x =x1 + x2

x1 = x2

x2 = x

if (n == 1 or n == 2) :

x = 1

return x

def printfn(m,n,i):

c = i

index = 0

while fib(i) < 10000 :

i = i + 1

count = i

i = 1

while i < count :

i = i + 1

if fib(i) >= m and fib(i) <= n :

index = index + 1

v = fib(c)

v = str(v)

c = str(c)

print("fib(" + c + ")" + "=" + v)

print(index)

m,n,i=input().split()

n=int(n)

m=int(m)

i=int(i)

printfn(m,n,i)

另一段**如下

這一段**實現fib(n)函式返回第n項,printfn(m,n,i)函式實現輸出在m到n之間的所有的斐波那契數

如果沒有,顯示no fibonacci number

def fib(n) :

x = 0

x1 = 1

x2 = 1

i = 2

while i <= n :

i = i + 1

x =x1 + x2

x1 = x2

x2 = x

if (n == 1 or n == 2) :

x = 1

return x

def printfn(m,n,i):

index = 0

flag = 0

while fib(i) < 10000 :

i = i + 1

count = i

i = 1

while i < count :

i = i + 1

if fib(i) >= m and fib(i) <= n :

flag  = 1

index = index + 1

if index == 1 :

print(fib(i))

continue

print(fib(i))

if (flag == 0) :

print("no fibonacci number")

m,n,i=input().split()

n=int(n)

m=int(m)

i=int(i)

printfn(m,n,i)

Python計算斐波那契數列

華電北風吹 天津大學認知計算與應用重點實驗室 日期 2015 5 利用python計算第乙個達到一百萬位數的斐波那契數列各位數之和 結果為4501552 以下是我用到的 不是中間需要一些人工操作來加快收斂性,有興趣讀者可以寫 加快收斂 首先執行這個,可以大致確定一百萬個數所在斐波那契序列的位置 i ...

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

python 斐波那契數列

用python寫斐波那契數列當然大家都寫的出來。當時如果用一行 寫呢。本來沒有打算用一行 寫的。後來看到有用一行 寫階乘的。reduce lambda x,y x y,i for i in range 1,n 1 當然在這之前需要 from functools import 好吧,如果你願意,就算兩...