用非递归方法做斐波那契,c++语言
时间: 2024-10-04 16:04:23 浏览: 21
C++实现Fibonacci数列递归及非递归算法
3星 · 编辑精心推荐
在C++中,可以使用循环而非递归来计算斐波那契数列。斐波那契数列是一个数列,其中每个数字是前两个数字之和。经典的递归实现虽然直观,但在处理大数时效率较低,因为存在大量的重复计算。以下是使用迭代方法(非递归)的C++代码:
```cpp
#include <iostream>
using namespace std;
// 非递归计算斐波那契数
int fibonacci(int n) {
if (n <= 0) return 0;
else if (n == 1) return 1;
int a = 0; // 第一个数
int b = 1; // 第二个数
for (int i = 2; i <= n; ++i) {
int temp = a + b;
a = b;
b = temp;
}
return b;
}
int main() {
int num;
cout << "请输入一个正整数: ";
cin >> num;
cout << "第 " << num << " 项的斐波那契数是: " << fibonacci(num);
return 0;
}
```
在这个例子中,我们初始化a和b分别代表斐波那契数列的前两项,然后通过循环从第三项开始逐项计算并更新a和b的值,直到达到所求的项数n。
阅读全文