Cod sursa(job #782901)

Utilizator AndreeaNNedelcu Andreea AndreeaN Data 30 august 2012 15:23:05
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
FILE *f=fopen("fact.in","r"),*g=fopen("fact.out","w");
long long p;

long long zerouri(long long nr){
long long k=5,nrz=0;
	while(nr>=k){
		nrz+=nr/k;
		k=k*5;
	}
return nrz;
}

void cauta_binar(){
long long st=0, dr=1000000000,mij,x;
	while(st!=dr){
		mij=(st+dr)/2;
		x=zerouri(mij);
		if(p<=x){
			dr=mij;
		}
		else{
			st=mij+1;
		}
	}
	
	if(zerouri(st)==p){fprintf(g,"%lld",st);}
	else{fprintf(g,"-1");}
	fclose(f); fclose(g);
}


int main(){
	fscanf(f,"%lld",&p);
	if(p==0){fprintf(g,"1"); fclose(g);}
	else{
		cauta_binar();
	}

return 0;
}