斐波那契数列用c+递归写
时间: 2024-11-24 21:43:14 浏览: 11
C语言数据结构递归之斐波那契数列
5星 · 资源好评率100%
斐波那契数列是一个经典的递归问题,在C++中使用递归来实现可以这样写:
```cpp
#include<iostream>
int fibonacci(int n) {
// 基本情况:当n小于等于0时返回0,当n等于1时返回1
if (n <= 0)
return 0;
else if (n == 1)
return 1;
// 递归情况:fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int num;
std::cout << "请输入一个正整数: ";
std::cin >> num;
if (num <= 0)
std::cout << "输入错误,斐波那契数只对正整数定义。" << std::endl;
else
std::cout << "斐波那契数列第" << num << "项是: " << fibonacci(num) << std::endl;
return 0;
}
```
当你运行这个程序并输入一个正整数,它会计算并打印出相应位置的斐波那契数。但是需要注意的是,由于递归的特性,对于较大的n值,这种方法效率较低,因为它会有很多重复的计算。
阅读全文