Cod sursa(job #175853)

Utilizator darrenRares Buhai darren Data 10 aprilie 2008 14:58:38
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream.h>
#include<math.h>

unsigned long p, gasok, li=0,ls=2000000000,mijd, m, n;

int main()
{
	ifstream fin("fact.in");
	ofstream fout("fact.out");
	fin >> p;
	if( p==0 )
	{
	fout << 1;
	return 0;
	}
	while( li <= ls && !gasok )
	{
		mijd = li / 2 + ls / 2;
		n = mijd;
		m=0;
		while( n != 0 )
		{
			m += n / 5;
			n /= 5;
		}
		if( m == p ) gasok = mijd;
		else if( m < p )
			li = mijd + 1;
		else ls = mijd - 1;
	}

	if (!gasok) fout<<-1;
	else
	fout<<gasok-gasok%5;
	fin.close();
	fout.close();
	return 0;
}