Cod sursa(job #796179)

Utilizator tinkyAndrei Ilisei tinky Data 10 octombrie 2012 19:57:25
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<fstream>
using namespace std;
int main()
{
	int mij,st,dr,nr,n,i;
	ifstream in("fact.in");
	ofstream out("fact.out");
	in>>n;
	if (!n)
	{
		ofstream out("fact.out");
		out<<1;
		return 0;
	}
	st=0;
	dr=1000000000;
	while (st<dr)
	{
		mij=(st+dr)/2;
		nr=0;
		for (i=5;i<=mij;i*=5)
			nr+=mij/i;
		if (nr<n)
			st=mij+1;
		else if(nr==n)
		{
			while (mij%5)
				mij--;
			break;
		}
		else
			dr=mij-1;
	}
	if (nr==n)
		out<<mij;
	else
		out<<-1;
}