Cod sursa(job #445954)

Utilizator voikybodea voichita voiky Data 24 aprilie 2010 16:12:35
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<fstream.h>
#define max 400000015
int p;

int zero(int n)
{
	int k=0;
	while(n)
	{
		k=k+n/5;
		n=n/5;
	}
	return k;
}

/*int getmax()
{
	int i=400000000;
	while(zero(i)<100000000)i++;
	return i;
}*/

int main()
{
	ifstream f("fact.in");ofstream g("fact.out");
	//g<<zero(400000015);//100000000
	//g<<getmax();
	int st=1,dr=max,z,k=0;
	f>>p;
	if(p==0)g<<1;
	else
	{
		while(st<dr && k==0)
		{
			int m=st+(dr-st)/2;
			z=zero(m);
			if(z==p)k=m;
			else if(z<p)st=m+1;
				 else dr=m-1;
		}
		if(k)g<<k-k%5;
		else g<<-1;
	}
	f.close();g.close();
	return 0;
}