Pagini recente » Cod sursa (job #2744083) | Cod sursa (job #2293642) | Cod sursa (job #839495) | Cod sursa (job #910313) | Cod sursa (job #2138)
Cod sursa(job #2138)
#include<stdio.h>
long long N;
int doi,trei,patru,cinci,sase,sapte,opt,noua, solution;
void ReadData()
{
FILE *f=fopen("policefm.in","r");
fscanf(f,"%lld",&N);
fclose(f);
}
void PrintSol()
{
int i;
FILE *fout=fopen("policefm.out","w");
if (solution == 0) fprintf(fout,"0\n");
else
{
if (doi>0)
for (i=1;i<=doi;i++) fprintf(fout,"2");
if (trei>0)
for (i=1;i<=trei;i++) fprintf(fout,"3");
if (patru>0)
for (i=1;i<=patru;i++) fprintf(fout,"4");
if (cinci>0)
for (i=1;i<=cinci;i++) fprintf(fout,"5");
if (sase>0)
for (i=1;i<=sase;i++) fprintf(fout,"6");
if (sapte>0)
for (i=1;i<=sapte;i++) fprintf(fout,"7");
if (opt>0)
for (i=1;i<=opt;i++) fprintf(fout,"8");
if (noua>0)
for (i=1;i<=noua;i++) fprintf(fout,"9");
fprintf(fout,"\n");
}
fclose(fout);
}
int main()
{
ReadData();
solution=1;
doi=trei=patru=cinci=sase=sapte=opt=noua=0;
while (N%2 == 0)
{
doi++;N=N/2;
}
while (N%3 == 0)
{
trei++;N=N/3;
}
while (N%5 == 0)
{
cinci++;N=N/5;
}
while (N%7 == 0)
{
sapte++;N=N/7;
}
if (N != 1) solution=0;
else
{
if (doi>=3)
{
opt=opt+doi/3;
doi=doi%3;
}
if (trei>=2)
{
noua=noua+trei/2;
trei=trei%2;
}
if ((doi>=1)&&(trei>=1))
{
sase++;
doi--;
trei--;
}
if (doi>=2)
{
patru++;
doi=doi-2;
}
}
PrintSol();
return 0;
}