Cod sursa(job #675252)
| Utilizator | Data | 7 februarie 2012 14:39:17 | |
|---|---|---|---|
| Problema | Factorial | Scor | 40 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include<stdio.h>
long int div(long int a)
{
long int nr=0;
while(a%5==0)
{
nr++;
a=a/5;
}
return nr;
}
int main()
{
FILE *f=fopen("fact.in","r"),*g=fopen("fact.out","w");
long int p,n=5,nr=0;
int ok=0;
fscanf(f,"%ld",&p);
if(p==0) ok=1;
while(!ok)
{
nr+=div(n);
if(nr==p) ok=1;
if(n==p*5 && ok==0) {ok=1;n=-1;}
n=n+5;
}
if(p>0) fprintf(g,"%ld",n-5);
else(fprintf(g,"1"));
fclose(f);
fclose(g);
return 0;
}
