C++實現斐波那契數列的一種常見方法是使用遞歸。斐波那契數列的定義是前兩個數字是1,之后的每個數字是前兩個數字的和。
以下是一個用遞歸實現斐波那契數列的示例代碼:
#include <iostream>
int fibonacci(int n) {
// 基本情況:當n為0或1時,直接返回1
if (n <= 1) {
return 1;
}
// 遞歸調用:返回前兩個斐波那契數的和
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int n = 10; // 要計算的斐波那契數列的長度
// 輸出斐波那契數列的前n個數字
for (int i = 0; i < n; i++) {
std::cout << fibonacci(i) << " ";
}
return 0;
}
此代碼將輸出斐波那契數列的前10個數字:1 1 2 3 5 8 13 21 34 55。
然而,遞歸實現的斐波那契數列在計算較大的數時會非常慢,因為它會重復計算許多相同的數字。為了改進性能,可以使用迭代方法或記憶化方法實現斐波那契數列。