Pagini recente » Cod sursa (job #1361082) | Cod sursa (job #612082) | Cod sursa (job #149299) | Cod sursa (job #896623) | Cod sursa (job #116190)
Cod sursa(job #116190)
#include<stdio.h>
int main()
{
FILE *fin,*fout;
fin= fopen ("fact.in","r");
fout= fopen ("fact.out","w");
long int p,n=0,m;
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;
}
m=n;
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 (p<0) fprintf (fout,"%d",-1);
else
{
while (n)
{
inv=inv*10+n%10;
n/=10;
}
while (inv)
{
fprintf (fout,"%d",int(inv%10));
inv/=10;
}
for (int i=1;i<=c;i++) fprintf (fout,"%d",0);
}
return 0;
}