C++斐波那契数列高精版
时间: 2024-10-03 21:01:57 浏览: 43
在C++中,计算斐波那契数列是一个常见的算法练习,尤其当涉及到精度要求较高的情况时,我们可以使用高精度的数据类型,如`long long`或者第三方库`cppBigInt`来避免整数溢出的问题。以下是一个使用`long long`类型,并采用迭代的方式计算斐波那契数列的例子:
```cpp
#include <iostream>
// 定义高精度的斐波那契函数
long long fibonacci(int n) {
if (n <= 0)
return 0;
else if (n == 1)
return 1;
long long a = 0, b = 1, c;
for (int i = 2; i <= n; ++i) {
c = a + b;
a = b;
b = c;
}
return b;
}
int main() {
int num_terms;
std::cout << "Enter the number of terms you want to calculate in the Fibonacci sequence: ";
std::cin >> num_terms;
std::cout << "Fibonacci sequence up to " << num_terms << " terms:\n";
for (int i = 0; i < num_terms; ++i) {
std::cout << fibonacci(i) << " ";
}
return 0;
}
```
在这个版本中,我们通过迭代计算斐波那契数列的每一项,而不是直接递归,因为递归可能导致效率低下并因深度过大导致栈溢出。
阅读全文