楼上的楼上有亿点错看我的吧~~~~~~~
2025-07-08 18:03:58
发布于:四川
16阅读
0回复
0点赞
using
namespace std;
int s[10010], a[10010], n, len = 1;
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";
cout << endl << 2;
return 0;
}
if(n == 4){
cout << "1 3";
cout << 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[ai]++, 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 >= 1; i--){
cout << s[i];
}
return 0;
}
全部评论 1
啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
2025-07-08 来自 四川
0
有帮助,赞一个