酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

C++ 高精度算法揭秘:算出斐波那契数列第 200 项!

以下是一个使用 C++ 实现高精度计算斐波那契数列第 200 项的示例代码: ```cpp #include <iostream> #include <vector> std::vector<int> add(const std::vector<int>& a, const std::vector<int>& b) { std::vector<int> result; int carry = 0; int i = a.size() - 1; int j = b.size() - 1; while (i >= 0 || j >= 0 || carry) { int sum = carry; if (i >= 0) sum += a[i--]; if (j >= 0) sum += b[j--]; carry = sum / 10; result.push_back(sum % 10); } std::reverse(result.begin(), result.end()); return result; } std::vector<int> fibonacci(int n) { if (n <= 0) { return std::vector<int>(); } else if (n == 1) { return std::vector<int>{1}; } else if (n == 2) { return std::vector<int>{1}; } std::vector<int> a{1}; std::vector<int> b{1}; for (int i = 3; i <= n; ++i) { std::vector<int> temp = add(a, b); a = b; b = temp; } return b; } int main() { std::vector<int> result = fibonacci(200); for (int digit : result) { std::cout << digit; } std::cout << std::endl; return 0; } ``` 这段代码使用了向量来存储每一位数字,通过逐位相加来计算斐波那契数列的项。由于斐波那契数列增长很快,普通的数据类型无法存储第 200 项的值,所以采用高精度算法来处理。 ######[AI写代码神器 | 472点数解答 | 2024-11-06 16:31:34]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]