python計算斐波那契數列


斐波那契數列就是黃金分割數列

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

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

 

代碼如下

這一段代碼實現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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM