fibonacci数列c++递归
时间: 2023-09-20 19:14:13 浏览: 120
当计算Fibonacci数列时,递归是一常见的方法。在C++中,可以使用递归函数来计算Fibonacci数列。下面是一个使用递归的示例代码:
```cpp
#include <iostream>
int fibonacci(int n) {
if (n <= 1)
return n;
else
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int num;
std::cout << "Enter the number of terms: ";
std::cin >> num;
std::cout << "Fibonacci Series: ";
for (int i = 0; i < num; i++) {
std::cout << fibonacci(i) << " ";
}
return 0;
}
```
以上代码中,我们定义了一个名为`fibonacci`的递归函数。如果传入的参数`n`小于等于1,直接返回`n`;否则,通过调用`fibonacci(n-1)`和`fibonacci(n-2)`来计算当前项的值。在`main`函数中,我们首先从用户输入获取要输出的项数,然后使用循环调用`fibonacci`函数来打印Fibonacci数列。
希望这个例子能帮到你!如果有任何问题,请随时提问。
相关问题
斐波那契数列非递归c++
以下是使用C++编写的非递归斐波那契数列的示例代码:
```cpp
#include <iostream>
int fibonacci(int n) {
if (n <= 1)
return n;
int prev = 0;
int curr = 1;
for (int i = 2; i <= n; i++) {
int temp = curr;
curr = prev + curr;
prev = temp;
}
return curr;
}
int main() {
int n = 10; int result = fibonacci(n);
std::cout << "The " << n << "th Fibonacci number is: " << result << std::endl;
return 0;
}
```
这段代码定义了一个名为`fibonacci`的函数,该函数接受一个整数参数`n`,并返回斐波那契数列中第`n`个数。在主函数中,我们将`n`设置为10,并打印出结果。
斐波纳切数列c++递归
以下是斐波那契数列的 C++ 递归实现代码:
```c++
#include <iostream>
using namespace std;
int fibonacci(int n)
{
if (n == 0 || n == 1)
return n;
else
return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
int n;
cout << "请输入要计算的斐波那契数列的项数: ";
cin >> n;
cout << "斐波那契数列的第" << n << "项为:" << fibonacci(n) << endl;
return 0;
}
```
需要注意的是,斐波那契数列的递归实现效率较低,因为在计算每一项的时候都需要重复计算之前的项。在实际应用中,应该采用迭代的方式或者使用记忆化搜索来提高效率。
阅读全文