用C++迭代实现fibonacci数列
时间: 2024-05-10 21:18:16 浏览: 143
以下是使用迭代方式实现斐波那契数列的示例代码:
```c++
#include <iostream>
using namespace std;
int fibonacci(int n) {
if (n <= 1) return n;
int fib = 1, prevFib = 1;
for (int i = 2; i < n; ++i) {
int temp = fib;
fib += prevFib;
prevFib = temp;
}
return fib;
}
int main() {
int n;
cout << "Enter the value of n: ";
cin >> n;
cout << "Fibonacci of " << n << " is " << fibonacci(n) << endl;
return 0;
}
```
在迭代方法中,我们使用循环来计算斐波那契数列。我们从第三个数字开始,将前两个数字相加并将结果存储在变量中。我们使用另一个变量来存储前一个数字,以便我们可以继续计算下一个数字。当循环结束时,我们返回最后一个计算出来的数字,即第 n 个斐波那契数。
相关问题
迭代实现斐波那契数列c++
迭代实现斐波那契数列的 C 代码如下:
```c
#include <stdio.h>
int fibonacci(int n) {
int a = 0, b = 1, temp;
if (n == 0)
return a; else if (n == 1)
return b;
else {
for (int i = 2; i <= n; i++) {
temp = a + b;
a = b;
b = temp;
}
return b;
}
}
int main() {
int n;
printf("请输入要计算的斐波那契数列的项数:");
scanf("%d", &n);
int result = fibonacci(n);
printf("第 %d 项的值为:%d\n", n, result);
return 0;
}
```
请用C++代码实现斐波那契数列的迭代算法
当然,下面是使用C++实现斐波那契数列的迭代算法的示例代码:
```cpp
#include <iostream>
int fibonacci(int n) {
if (n <= 0)
return 0;
if (n == 1)
return 1;
int prev1 = 0; // 前一个数
int prev2 = 1; // 前两个数
int current;
for (int i = 2; i <= n; i++) {
current = prev1 + prev2;
prev1 = prev2;
prev2 = current;
}
return current;
}
int main() {
int n;
std::cout << "请输入要计算的斐波那契数列的项数:";
std::cin >> n;
int result = fibonacci(n);
std::cout << "第 " << n << " 项的斐波那契数为:" << result << std::endl;
return 0;
}
```
这段代码中,我们使用了两个变量 `prev1` 和 `prev2` 来保存前两个数,然后通过循环计算当前数,并更新 `prev1` 和 `prev2` 的值。最后返回计算出的结果。
你可以根据需要修改 `main` 函数中的代码来输入不同的项数进行测试。运行代码后,它将输出相应项数的斐波那契数。希望对你有所帮助!
阅读全文