Cod sursa(job #291556)

Utilizator BaduBadu Badu Badu Data 29 martie 2009 23:21:00
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>

long long  fives(long long  x){

	long long  nr = 0;

	while(x!=0){
		nr+=x/5;
		x=x/5;

	}
	return nr;
}

int main(){

	FILE *f=fopen("factorial.in","r");
	FILE *g=fopen("factorial.out","w");
    long long  k;
	fscanf(f,"%lld",&k);

	long long  st = 1;
	long long  dr = 99999999;
	long long  mj,n=0,nn;

	while(st<=dr){

		mj = (st+dr)>>1;
		nn = fives(mj);

		
		if( nn < k ) st = mj + 1;
		
		else if ( nn == k ) n = mj;
		else dr = mj - 1;

	}

	if( fives(n) == k) fprintf(g,"%lld",n);
	else fprintf(g,"-1");


	return 0;
}