Cod sursa(job #658771)

Utilizator federerUAIC-Padurariu-Cristian federer Data 9 ianuarie 2012 15:30:33
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;

long long x, st, dr, p, putere, zerouri;

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

int main()
{
	fin>>p;
	st=1;
	dr=500000000;
	int ok=1;
	while(st<=dr && ok)
	{
		x=(st+dr)/2;
		putere=5;
		zerouri=0;
		while(x/putere)
		{
			zerouri+=(x/putere);
			putere*=5;
		}
		if(zerouri>p)
			dr=x-1;
		else
			if(zerouri<p)
				st=x+1;
			else
				ok=0;
	}
	while(x%5)
		x--;
	if(p==0)
		fout<<1<<'\n';
	else
		fout<<x<<'\n';
	fin.close();
	fout.close();
	return 0;
}