計算費波那契數列的遞迴程式是一個經典的編程問題。根據定義,費波那契數列的第0項是0,第1項是1,而之後的每一項都是前兩項的和。下面是一個計算第n個費波那契數的遞迴函式:
python
Copy code
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
# 測試函式
n = 10 # 舉例計算第10項費波那契數
print(fibonacci(n))
這個函式首先檢查n是否小於或等於0,如果是,則返回0(根據定義,Fib(0) = 0)。如果n等於1,則返回1,因為Fib(1) = 1。對於所有其他情況,函式遞迴地調用自己兩次,一次計算Fib(n-1),一次計算Fib(n-2),並將這兩個值相加以產生Fib(n)。
雖然這個遞迴解法直觀且易於實現,但它在計算大數值時效率非常低。因為它會重複計算許多次相同的費波那契數。對於較大的n,使用動態規劃或將計算結果緩存起來的方法會更高效。