Cod sursa(job #116167)

Utilizator katakunaCazacu Alexandru katakuna Data 17 decembrie 2007 21:54:13
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>

 long int nrzero(long int n){
 long int s=0;
 long int c;
 c=5;
     while(c<=n){
     s=s+n/c;
     c=c*5;
     }

   return s;

 }



int main(){
 long int pp,p,u,m,nrz;


  //FILE *f=fopen("fact.in","r");
  scanf("%ld",&pp);
  //fclose(f);

if(pp==0){printf("%d",0);}
else{
p=1;
u=2000000000;

    while(p<u){
    m=(p+u)/2;

       if(pp>nrzero(m)){
       p=m+1;
       }
	 else u=m-1;


    }



 //FILE *g=fopen("fact.out","w");

 if(nrzero(p)!=pp&&nrzero(p+1)!=pp){printf("%d",-1);}
 else{


   if(nrzero(p)==pp){
   while(nrzero(p)==pp){
   p--;
   }
   }
   printf("%ld",p+1);
   }

}

return 0;
}