tijie<AC>
2025-07-08 18:03:02
发布于:四川
7阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int s[100010], a[100010], len = 1, n;
void mul(int x) {
for (int i = 1; i <= len; i++) s[i] *= x;
for (int i = 1; i <= len; i++) {
s[i+1] += s[i] / 10;
s[i] %= 10;
}
while (s[len+1] > 0) {
len++;
s[len+1] += s[len] / 10;
s[len] %= 10;
}
}
int main() {
cin >> n;
if (n == 3) cout << 1 << " " << 2 << endl << 2;
else if (n == 4) cout << 1 << " " << 3 << endl << 3;
int sum = 0, ai = 0;
for (int i = 2; sum < n; sum += i, i++)
a[++ai] = i;
if (sum > n + 1) a[sum-n-1] = 0;
else if (sum == n + 1) a[1] = 0;
s[1] = 1;
for (int i = 1; i <= ai; i++) {
if (a[i]) {
cout << a[i] << " ";
mul(a[i]);
}
}
cout << endl;
for (int i = len; i > 0; i--) cout << s[i];
return 0;
}
全部评论 1
哈啊啊啊啊啊啊啊啊
2025-07-08 来自 四川
0
有帮助,赞一个