Cod sursa(job #222457)
Utilizator | Data | 22 noiembrie 2008 17:15:46 | |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.39 kb |
#include<stdio.h>
int main()
{ long p, k=0;
unsigned long ci, i;
freopen("fact.in", "rt", stdin);
freopen("fact.out", "wt", stdout);
scanf("%d",&p);
if(!p) printf("1\n");
else {
for(i=0,k=0;k<p;)
if (p-k>4) {i+=25;k+=4;
ci=i;
while(ci%5==0) {k++;ci/=5;}
}
else {i+=(p-k)*5;k=p;}
if(k==p) printf("%ld\n", i);
else printf("-1\n");
}
return 0;
}