Pagini recente » Cod sursa (job #258669) | Cod sursa (job #1454716) | Cod sursa (job #2999116) | Cod sursa (job #959527) | Cod sursa (job #956513)
Cod sursa(job #956513)
#include <cstdio>
using namespace std;
int P[500];
int res[500];
int zz[500];
int mal[500];
int p;
int N;
int gg,ss;
bool isPrime(int x)
{
for(int i=0; i < p && P[i] * P[i] <= x;i++)
{
if((x%P[i]) == 0) return 0;
}
return 1;
}
int solve(int k,int s)
{
}
int main()
{
freopen("nummst.in","r",stdin);
freopen("nummst.out","w",stdout);
scanf(" %d",&N);
for(int i=2;;i++)
{
if(!(N%i))
{
ss=i;
gg=N/i;
break;
}
}
for(int i=2;i<=ss;i++)
{
if(isPrime(i)) P[p++]=i;
}
int t;
int aa=ss;
while(aa > 2 && ss)
{
int i;
for(i=0;i<p;i++)
{
t=mal[i];
if(!t) mal[i]=P[i];
else mal[i]=P[i]*mal[i];
t=mal[i]-t;
if(ss >= t)
{
zz[i]++;
res[i]=mal[i];
ss-=t;
}
else if(!i) break;
}
if(!i) break;
}
for(int i=0;i<p;i++)
if(mal[i] > P[i]) printf("%d ",(mal[i]/P[i])*gg);
while(ss--) printf("%d ",gg);
printf("\n");
return 0;
}