请求加强数据
查看原帖
请求加强数据
807826
zjpwdyf楼主2024/1/24 10:36

如下:

#include <bits/stdc++.h>
using namespace std;
const int N = 205, L = 505;
int n, a[N], p;
int flag, ans[L];
void mul(int x){
	for(int i = 1; i < 500; i ++) ans[i] *= x;
	for(int i = 1; i < 500; i ++){
		ans[i + 1] += ans[i] / 10;
		ans[i] %= 10;
	}
}
int main(){
	cin >> n;
	ans[1] = 1;
	if(n <= 4){
		cout << n << '\n' << n;
		return 0;
	}
	for(int i = 2; i < N; i ++){
		if(n < i) break;
		a[++ p] = i;
		n -= i;
	}
	for(int i = p - n + 1; i <= p; i ++) a[i] ++;
	//if(n > p) a[p] ++;
	for(int i = 1; i <= p; i ++){
		cout << a[i] << ' ';
		mul(a[i]);
	}
	cout << '\n';
	for(int i = 500; i >= 1; i --){
		if(ans[i] || i == 1) flag = 1;
		if(flag) cout << ans[i];
	}
	return 0;
}

第 26 行,将 if(n > p) a[p] ++ 注释掉后,本来应该出错,但在你谷上可以 AC

请求加入下列数据:

输入:

8

正确输出:

3 5
15

错误输出:

3 4
12
2024/1/24 10:36
加载中...