Cod sursa(job #39798)
Utilizator | Data | 26 martie 2007 22:58:25 | |
---|---|---|---|
Problema | Factorial | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <stdio.h>
FILE *fin,*fout;
long long d10,d5,i,nr,n,aux;
long long des (long long x,long long &y)
{int j=0;
while (y%x==0){ y=y/x;j++;}
return j;
}
int main()
{
fin=fopen("fact.in","rt");
fout=fopen("fact.out","wt");
fscanf(fin,"%lld",&n);
i=0;
while (1)
{i+=5;
if (nr==n)
{
fprintf (fout,"%lld\n",i-5);
break;
}
if (nr>n)
{
fprintf (fout,"-1\n");
break;
}
aux=i;
d10=0;
d5=0;
d10=des(10,aux);
d5=des(5,aux);
nr=nr+d5+d10;
}
fcloseall();
return 0;
}