Cod sursa(job #210622)

Utilizator RegeleUmbrelorPopescu Mihai RegeleUmbrelor Data 28 septembrie 2008 12:30:13
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
using namespace std;
#include<fstream>
int P;const int NMAX=1<<31-1;

int puteri(int n)
{
	int p=5,s=0;
	while(n/p)
	{
		s+=n/p;
		p*=5;
	}
	return s;
}

int cautare(int p,int u)
{
	int m;
	while(p!=u)
	{
		m=(p+u)/2;
		if(puteri(m)>=P)
			u=m;
		else
			p=m+1;
	}
	if(puteri(p)!=P && puteri(p+1)!=P)
		return -1;
	if(puteri(p)<P)
		return p+1;
	else 
		return p;
}
	
int main()
{
	ifstream in("fact.in");
	ofstream out("fact.out");
	in>>P;
	out<<cautare(1,NMAX)<<'\n';
	in.close();out.close();
	return 0;
}