Pagini recente » Cod sursa (job #1017312) | Cod sursa (job #72522) | Cod sursa (job #2210707) | Cod sursa (job #159334) | Cod sursa (job #116197)
Cod sursa(job #116197)
#include<stdio.h>
int main()
{
FILE *fin,*fout;
fin= fopen ("fact.in","r");
fout= fopen ("fact.out","w");
long int p,n=0,m,c=1;
fscanf(fin,"%D",&p);
while (p/5)
{
n+=25;
p=p-4;
m=n;
while (m%5==0)
{
if (m%5==0) p--;
m/=5;
if (p==0&&m%5==0) c=0;
if (!c) break;
}
if (!c) break;
}
if (c)
while (p)
{
n++;
m=n;
while (m%5==0)
{
if (m%5==0)
{
p--;
//c5++;
}
m/=5;
if (p==0&&m%5==0) c=0;
if (!c) break;
}
/*while (m%2==0)
{
if (m%2==0) c2++;
m/=2;
}*/
if (!c) break;
}
/*while (c&&c2<c5)
{
n++;
if (n%5==0) c=0;
m=n;
while (m%2==0)
{
if (m%2==0) c2++;
m/=2;
}
}
long int s=1;
while (p>0)
{
n++;
s=s*n;
while (s%10==0)
{
p--;
s/=10;
}
s=s%10;
}
int c=0;
while (n%10==0)
{
c++;
n/=10;
} */
long inv=0;
if (!c) fprintf (fout,"%d",-1);
else
{
while (n)
{
inv=inv*10+n%10;
n/=10;
}
while (inv)
{
fprintf (fout,"%d",inv%10);
inv/=10;
}
for (int i=1;i<=c;i++) fprintf (fout,"%d",0);
}
fclose(fin);
fclose(fout);
return 0;
}