- zsz_qwq 的博客
-
题解 P129
- @ 2025-12-3 18:23:28
按题意直接模拟即可。
code:
#include <bits/stdc++.h>
using namespace std;
const int MAX_DIGITS = 500000;
int main() {
int digits[MAX_DIGITS] = {0};
digits[0] = 1;
int digit_count = 1;
for (int i = 2; i <= 100000; i++) {
int carry = 0;
for (int j = 0; j < digit_count; j++) {
long long product = (long long)digits[j] * i + carry;
digits[j] = product % 10;
carry = product / 10;
}
while (carry > 0) {
digits[digit_count] = carry % 10;
carry /= 10;
digit_count++;
}
}
for (int i = digit_count - 1; i >= 0; i--) {
cout << digits[i];
}
return 0;
}
代码可能要跑大约 ,请耐心等待。