Pagini recente » DeehoroEjkoli | Cod sursa (job #2155019) | Cod sursa (job #3170717) | Monitorul de evaluare | Cod sursa (job #222470)
Cod sursa(job #222470)
#include<stdio.h>
#include<math.h>
int main()
{ long p, k=0;
unsigned long ci, i;
double c=log(5);
freopen("fact.in", "rt", stdin);
freopen("fact.out", "wt", stdout);
scanf("%ld",&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;}
if(ci%(long)pow(5,(long)(log(ci)/c))==0) k+=(long)(log(ci)/c);
else k+=2;
}
else {i+=(p-k)*5;k=p;}
if(k==p) printf("%ld\n", i);
else printf("-1\n");
}
return 0;
}