斐波那契数列c++力扣
时间: 2023-11-13 22:58:08 浏览: 98
斐波那契数列是一个由0和1开始,后面的每一项数字都是前面两项数字的和的数列。在C++中,可以使用递归或动态规划的方法来计算斐波那契数列。以下是一个使用动态规划的示例代码:
```
class Solution {
public:
int fib(int n) {
if (n < 2) {
return n;
}
int dp[n+1];
dp[0] = 0;
dp[1] = 1;
for (int i = 2; i <= n; i++) {
dp[i] = dp[i-1] + dp[i-2];
}
return dp[n];
}
};
```
在这个代码中,我们使用了一个数组dp来存储斐波那契数列的值。首先,我们判断n是否小于2,如果是,直接返回n。否则,我们初始化dp和dp为0和1,然后使用循环计算dp[i]的值,直到i等于n。最后,返回dp[n]即可。
相关问题
斐波那契数列c++递归
斐波那契数列是一个经典的数学序列,其中每个数字是前两个数字之和。通常递归算法可以简洁地表示这个规律。在 C++ 中,你可以使用如下的递归函数来计算第 n 项斐波那契数:
```cpp
#include <iostream>
// 递归函数计算斐波那契数列
int fibonacci(int n) {
if (n <= 0) {
return 0; // 基本情况:第一项是0,第二项是1
} else if (n == 1) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2); // 递归调用自身计算前两项的和
}
}
int main() {
int n;
std::cout << "请输入想要计算的斐波那契数列项数: ";
std::cin >> n;
std::cout << "斐波那契数列的第 " << n << " 项是: " << fibonacci(n) << std::endl;
return 0;
}
```
斐波那契数列c++迭代
斐波那契数列是一个经典的数学问题,它的定义是:第一个和第二个数都是1,从第三个数开始,每个数都是前两个数的和。在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;
}
```
这段代码中,我们定义了一个`fibonacci`函数来计算斐波那契数列的第n项。使用一个循环来迭代计算,通过保存前两个数的值,不断更新当前数的值,直到计算到第n项为止。在`main`函数中,我们从用户输入获取要计算的项数,并输出结果。