酷代码 AI
菜单
服务商

请求出1!+2!+3!+4!+…+n!,请注意,n<=50。 n!=nx(n-1)x(n-2)x…x1,如:5!=5x4x3x2x1=120。 c++ using namespace std;要有 不要注释 使用高精度算法

```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; // 高精度乘法 vector<int> multiply(vector<int> num, int x) { int carry = 0; for (int i = 0; i < num.size(); i++) { int prod = num[i] * x + carry; num[i] = prod % 10; carry = prod / 10; } while (carry) { num.push_back(carry % 10); carry /= 10; } return num; } // 高精度加法 vector<int> add(vector<int> num1, vector<int> num2) { vector<int> result; int carry = 0; int i = 0, j = 0; while (i < num1.size() || j < num2.size() || carry) { int sum = carry; if (i < num1.size()) sum += num1[i++]; if (j < num2.size()) sum += num2[j++]; result.push_back(sum % 10); carry = sum / 10; } return result; } // 输出高精度数 void print(vector<int> num) { for (int i = num.size() - 1; i >= 0; i--) { cout << num[i]; } cout << endl; } int main() { int n; cin >> n; vector<int> factorial(1, 1); vector<int> sum(1, 0); for (int i = 1; i <= n; i++) { factorial = multiply(factorial, i); sum = add(sum, factorial); } print(sum); return 0; } ``` [2025-09-26 19:33:39 | AI问答 | 439点数解答]

相关提问
请收藏新域名:pdcd.cn
发财导航,免费问AI
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]