fibonacci數列-斐波那契數列-python編程

未完待續~python

瞭解fibonacci數列:app

斐波納契數列(Fibonacci Sequence),又稱黃金分割數列。函數

1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765……
(1)fibonacci數列即斐波那契數列,它的特色是前面兩個數的和等於後面的一個數,fib(0)=fib(1)=1.
(2)斐波那契數列只有一個.測試

(3)若是設F(n)爲該數列的第n項(n∈N+)。那麼這句話能夠寫成以下形式:flex

  F(1)=F(2)=1,F(n)=F(n-1)+F(n-2) (n≥3)spa

  顯然這是一個線性遞推數列。code

下面的例子fib(0)=fib(1)=1接口

 

利用for循環ci

 

 

輸出範圍內的數列:
fibs = [1,1]
for i in range(8):
fibs.append(fibs[-2] + fibs[-1])
# print(fibs)
print(fibs) # [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

輸出特定個數元素的數列:
fibs = [1,1]
num = input('數列元素個數:')
num=int(num)
for i in range(num-2):
fibs.append(fibs[-2] + fibs[-1])
print(fibs)

利用函數input

def fibs(num):
result = [1,1]
for i in range(num-2):
result.append(result[-2] + result[-1])
print(result)
fibs(10)
# [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

例題:
使用函數輸出指定範圍內Fibonacci數的個數 
 本題要求實現一個計算Fibonacci數的簡單函數,並利用其實現另外一個函數輸出兩正整數m和n(0<m<n≤100000)之間的全部Fibonacci數的數目。 所謂Fibonacci數列就是知足任一項數字是前兩項的和(最開始兩項均定義爲1)的數列,fib(0)=fib(1)=1。其中函數fib須返回第n項Fibonacci數;函數PrintFN要在一行中輸出給定範圍[m, n]內的全部Fibonacci數的個數。

函數接口定義:

在這裏描述函數接口。例如:
fib(n)
PrintFN(m,n,i)

裁判測試程序樣例:

在這裏給出函數被調用進行測試的例子。例如:
/* 請在這裏填寫答案 */

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

輸入樣例:

在這裏給出一組輸入。例如:

20 100 6

輸出樣例:

在這裏給出相應的輸出。例如:

fib(6) = 13
4


代碼:

def PrintFN(m,n,i):    def fib(n):        fibs = [1, 1]        for i in range(n):            fibs.append(fibs[-2] + fibs[-1])        print("fib(%s)=%d"%(n,fibs[n]))    fib(i)    fibs = [1, 1]    g = 0    for i in range(n):        fibs.append(fibs[-2] + fibs[-1])        # print(fibs)        if(m<fibs[i]<n):            # print(fibs[i])            g+=1   #數列個數    print(g)m,n,i=input().split()n=int(n)m=int(m)i=int(i)PrintFN(m,n,i)
相關文章
相關標籤/搜索