30分求助!!!!!!
查看原帖
30分求助!!!!!!
965334
1_1_1_1_1_1_楼主2023/11/8 20:16
#include<bits/stdc++.h>

using namespace std;

int n;

int a[10000];
bool d[10000];

void f(int x, int k)
{
	int i, j, len = 1;
	
	if(k == 1)
	{
		d[2] = 0;
		d[x] = 0;
		d[++x] = 1;
	}
	else
	{
		d[k] = 0;
	}
	a[1] = 1;
	for(i = 1; i <= x; i++)
	{
		if(d[i])
		{
			cout << i << ' ';
			for(j = 1; j <= len; j++)
			{
				a[j] = a[j] * i;
			}
			for(j = 1; j <= len + 10; j++)
			{
				a[j + 1] += a[j] / 10;
				a[j] = a[j] % 10; 
			}
			while(a[len + 1])
			{
				len++;
			}
		}
	}
	cout << endl;
	for(i = len; i >= 1; i--)
	{
		cout << a[i];
	}
}

int main()
{
	int i, sum = 0;
	
	cin >> n;
	for(i = 2; i <= n; i++)
	{
		sum += i;
		d[i] = 1;
		if(sum > n)
		{
			f(i, sum - n);
			return 0;
		}
	}
}
2023/11/8 20:16
加载中...