c++用递归的方法求fibonacci
时间: 2023-03-20 07:04:40 浏览: 172
利用递归函数求解Fibonacci数列
5星 · 资源好评率100%
斐波那契数列是指:1、1、2、3、5、8、13、21、34、……,即第一项和第二项为1,从第三项开始,每一项都等于前两项之和。C++中可以使用递归的方法求斐波那契数列,代码如下:
```c++
#include <iostream>
using namespace std;
int fibonacci(int n) {
if (n == 1 || n == 2) { // 第一项和第二项都为1
return 1;
}
else {
return fibonacci(n - 1) + fibonacci(n - 2); // 递归调用
}
}
int main() {
int n;
cout << "请输入要求的斐波那契数列的项数:";
cin >> n;
cout << "斐波那契数列的前" << n << "项为:";
for (int i = 1; i <= n; i++) {
cout << fibonacci(i) << " ";
}
cout << endl;
return ;
}
```
在上面的代码中,我们定义了一个名为fibonacci的函数,用于递归求解斐波那契数列的第n项。当n为1或2时,直接返回1;否则,递归调用fibonacci(n-1)和fibonacci(n-2),并将它们的和作为结果返回。在主函数中,我们先输入要求的斐波那契数列的项数n,然后使用for循环依次输出前n项的值。
阅读全文