Cod sursa(job #23761)

Utilizator gaby06Harja Gabriel gaby06 Data 1 martie 2007 12:37:50
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream.h>

ifstream fin("fact.in");
ofstream fout("fact.out");


unsigned long long int n, p, m, li, ls, med, gasit;


int main()
{
  fin >> p;

   li = 1, ls = 2000000000;
	gasit = 0;
	while ( li <= ls && !gasit )
	{
		med  = ( li + ls ) / 2;
		n = med;
		m = 0;
		while ( n != 0 )
		{
		    m += n/5;
		    n /= 5;
		}    	   
		if ( m == p ) gasit = med;
		else if ( m < p ) li = med + 1;
			 else ls = med - 1;
	}

	if ( !gasit ) fout << -1 << endl;
	else 
    {
        if ( p == 0 ) fout << 1 << endl;
        else 	fout << gasit - gasit%5 << endl;
    }





 fin.close();
 fout.close();
 return 0;
}