Cod sursa(job #222470)

Utilizator cos_min_max_ionCosmin Ion cos_min_max_ion Data 22 noiembrie 2008 17:39:19
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#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;
}