c++计算斐波那契数列
时间: 2024-10-20 18:01:31 浏览: 18
在 C++ 中计算斐波那契数列,你可以使用循环、递归或动态规划等方法。以下是使用循环和动态规划的简单例子:
**1. 使用循环(迭代法):**
```cpp
#include <iostream>
size_t fibonacci(size_t n) {
if (n <= 1)
return n;
size_t fib_n1 = 0;
size_t fib_n2 = 1;
size_t current_fib = 0;
for (size_t i = 2; i <= n; ++i) {
current_fib = fib_n1 + fib_n2;
fib_n1 = fib_n2;
fib_n2 = current_fib;
}
return current_fib;
}
int main() {
int n;
std::cout << "请输入一个数字: ";
std::cin >> n;
std::cout << "第 " << n << " 个斐波那契数是: " << fibonacci(n) << std::endl;
return 0;
}
```
**2. 使用动态规划(存储中间结果):**
```cpp
#include <vector>
#include <iostream>
std::vector<size_t> fibonacci_dp(int n) {
std::vector<size_t> fibs(n + 1);
fibs[0] = 0;
fibs[1] = 1;
for (size_t i = 2; i <= n; ++i) {
fibs[i] = fibs[i - 1] + fibs[i - 2];
}
return fibs;
}
int main() {
int n;
std::cout << "请输入一个数字: ";
std::cin >> n;
std::cout << "第 " << n << " 个斐波那契数是: " << fibonacci_dp(n)[n] << std::endl;
return 0;
}
```
这两种方法都可以高效地计算斐波那契数列。如果你对递归方法感兴趣,尽管告诉我。
阅读全文