Cod sursa(job #116164)

Utilizator katakunaCazacu Alexandru katakuna Data 17 decembrie 2007 21:49:49
Problema Factorial Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 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");
  fscanf(f,"%ld",&pp);
  fclose(f);

p=1;
u=100000000;

    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){fprintf(g,"%d",-1);}
 else{


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



return 0;
}