Cod sursa(job #397243)
| Utilizator | Data | 16 februarie 2010 18:19:40 | |
|---|---|---|---|
| Problema | Factorial | Scor | 45 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <stdio.h>
#include <math.h>
int putere(long n)
{
int t=0;
while (n%5==0)
{
n/=5;
t++;
}
return t;
}
int main()
{
long p,i;
FILE *f,*g;
int nr=0;
f=fopen("fact.in","r");
fscanf(f,"%li",&p);
fclose(f);
for (i=5; ; i+=5)
{
nr=nr+putere(i);
if (nr>=p) break;
}
g=fopen("fact.out","w");
if (p<5) fprintf(g,"%i",1);
else
if (nr>p) fprintf(g,"%i",-1);
else fprintf(g,"%li",i);
fclose(g);
return 0;
}
