Cod sursa(job #1329238)
| Utilizator | Data | 29 ianuarie 2015 11:33:21 | |
|---|---|---|---|
| Problema | Factorial | Scor | 20 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <stdio.h>
#include <stdlib.h>
long long n;
int main()
{
FILE *f,*g;
f=fopen("fact.in","r");
g=fopen("fact.out","w");
int p,ok,nr,p1,i;
fscanf(f,"%d",&p);
if(p==0)
fprintf(g,"%d\n",1);
else
{
p1=5;
n=5;
nr=1;
while(nr<p)
{
nr=0;
for(i=5;i<=p1;i*=5)
{
nr+=(n/i);
}
if(nr<p)
n+=5;
if(n==p1*5)
p1*=5;
}
if(nr>p)
fprintf(g,"%d\n",-1);
else
fprintf(g,"%d\n",n);
}
return 0;
}
