斐波那契数列非递归c++
时间: 2024-03-22 07:35:45 浏览: 82
以下是使用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 <stdio.h>
int main()
{
int n, i;
int a = 0, b = 1, c = 0;
printf("请输入斐波那契数列的项数:");
scanf("%d", &n);
printf("斐波那契数列的前%d项为:\n", n);
printf("%d %d ", a, b);
for (i = 3; i <= n; i++)
{
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
return 0;
}
```
在这个程序中,我们使用了三个变量a、b和c来计算斐波那契数列的每一项。变量a和b的初始值分别为0和1,变量c用于存储当前项的值。在循环中,我们首先计算出当前项的值c,然后将a和b的值更新为上一项和当前项的值,以便计算下一项。最后,我们输出每一项的值。
斐波那契数列c++(非递归)
斐波那契数列是一个经典的数学问题,它的定义是:第一个和第二个数都是1,从第三个数开始,每个数都是前两个数的和。在C++中,可以使用非递归的方式来实现斐波那契数列。
以下是一个非递归实现斐波那契数列的C++代码示例:
```cpp
#include <iostream>
int fibonacci(int n) {
if (n <= 0) {
return 0;
}
if (n == 1 || n == 2) {
return 1;
}
int prev = 1;
int curr = 1;
int result = 0;
for (int i = 3; i <= n; i++) {
result = prev + curr;
prev = curr;
curr = result;
}
return result;
}
int main() {
int n;
std::cout << "请输入要计算的斐波那契数列的项数:";
std::cin >> n;
int fib = fibonacci(n);
std::cout << "第 " << n << " 项的斐波那契数为:" << fib << std::endl;
return 0;
}
```
这段代码中,我们使用了一个循环来计算斐波那契数列的第n项,通过迭代更新prev和curr的值,最后返回结果。
阅读全文