斐波那契數列(Fibonacci sequence)
因數學家萊昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,數列如下:
1、1、2、3、5、8、13、21、34 。 。 。
要求第n項斐波那契數列的值不難發現一個規律:
當n=1的時候對應的值是1
當n=2的時候對應的值是1
當n>2的時候對應的值等於前兩項的和。
程式設計思路
# 建立一個帶引數的函式,返回對應的斐波那契數列的值def fib(n): pass
如果這個函式的功能是完整的那麼當我呼叫函式的時候結果應該如下:
fib(1)=1
fib(2)=1
重點關注以下規律
fib(3)=1+1= fib(1)+fib(2)
fib(4)=1+2=fib(2)+fib(3)
fib(5)=2+3=fib(3)+fib(4)
。 。 。
fib(n)=fib(n-1)+fib(n-2)
根據上述規律就可以把程式碼補充完整了:
def fib(n): if n == 1: return 1 elif n == 2: return 1 elif n > 2: return fib(n-1) + fib(n-2)