Cod sursa(job #727499)

Utilizator karlaKarla Maria karla Data 28 martie 2012 00:17:52
Problema Factorial Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
long long p;
FILE*f=fopen("fact.in","r"),*g=fopen("fact.out","w");

void citire(){
    fscanf(f,"%lld ",&p);
	fclose(f);
}

int aparitie_5(long x){
   long n=5,s=0;
   while(n<=x){
        s+=x/n;
		n*=5;
   }
  // fprintf(g,"%ld %ld ",x,s);
   return s;
}


void aflare_n(){
	long long x=1,y=p,mij,l;
	 if(p==0){fprintf(g,"1");return;}
	 else{
   while(x<=y){
	   mij=(x+y)/2;
      l=aparitie_5(mij*5);
	  if(l==p){
		  fprintf(g,"%ld ",mij*5);
		  return;
	  }
	  else{
		  if(l>p){
	        y=mij+1; 
	       }
		  else{
	         x=mij+1;
		  }
	  }
   }
	 }
	 fprintf(g,"-1");
}

int main(){
	citire();
	aflare_n();
	fclose(g);
return 0;
}