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。
然而,递归实现的斐波那契数列在计算较大的数时会非常慢,因为它会重复计算许多相同的数字。为了改进性能,可以使用迭代方法或记忆化方法实现斐波那契数列。