编写实现Fibnacci数列求值递归函数 Fibnacci联造: F(n)=F(n-1)+F(n-2) n>2 F(1)=1,F(2)=1 写个c++的程序
时间: 2024-10-19 14:11:28 浏览: 61
fibnacci数列的递归实现
4星 · 用户满意度95%
以下是使用C++编写的一个计算斐波那契数列递归函数的例子:
```cpp
#include<iostream>
using namespace std;
// 定义递归函数
int fibonacci(int n) {
if (n <= 1)
return n; // 基本情况:F(0) = 0 和 F(1) = 1
else
return fibonacci(n - 1) + fibonacci(n - 2); // 递归情况:F(n) = F(n-1) + F(n-2)
}
int main() {
int num;
cout << "请输入一个正整数: ";
cin >> num;
if (num < 0) {
cout << "输入错误,斐波那契数列只对非负整数有效。\n";
} else {
cout << "斐波那契数列的第 " << num << " 项是: " << fibonacci(num) << endl;
}
return 0;
}
```
在这个程序中,`fibonacci()`函数用于递归计算给定位置的斐波那契数。请注意,虽然递归法直观,但它的时间复杂度是O(2^n),对于较大的n可能会非常慢。实际应用中,更推荐使用迭代法或者动态规划来提高效率。
阅读全文