Cod sursa(job #350812)

Utilizator pirvupirvu tudor pirvu Data 25 septembrie 2009 22:41:51
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<cstdio>


long numar;


long nrz ( long n)
{

long p=0;

for (long a=5;a<=n;a*=5)
	p+=n/a;

return p;	
}


void caut ( long x , long y )
{      
	if ( x > y )
	{
	printf("-1");
	return;
	}	
	else
	{	
		
	long mij , nr ;
 
    mij = ( x + y ) / 2;
    nr = nrz ( mij );
    if ( nr  > numar )
    caut ( x , mij - 1 );
    else  if ( nr < numar )
		caut ( mij + 1 , y );
    else if (nr==numar)
	{
	printf("%ld", mij-(mij%5));
	return;
	}
	}
}

int main(){
	
	freopen ("fact.in","r",stdin);
	freopen ("fact.out","w",stdout);
	
	
	scanf("%ld", & numar);
	if (numar==0) 
	{
		printf("1");
		return 0;
	}
	caut(1,500000000);
	
	return 0;
}