Cod sursa(job #602964)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 13 iulie 2011 20:56:52
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<iostream>
#include<fstream>
using namespace std; 
int main(void)
{
	long long p;
	fstream f,g;
	f.open("fact.in",ios::in);
	
	f>>p;
	long long mij,dr,st;
	dr=p*5+1;
	st=p;
	int gasit=0;
	long long min=500000001;
	while (st<=dr && (gasit==3 || gasit==0))
	{
		mij=(st+dr)/2;
		long long k=5;
		long long zero=0;
		while (mij/k!=0)
		{
			zero=mij/k+zero;
			k=k*k;
		}
		if (zero==p)
			{	
				if (mij<min)
					min=mij; 
				dr--;
				gasit=3;
				
			/*break;*/
			}
		else
			if (zero<p)
				st=mij;
			else
				dr=mij;
			if (st==mij && dr==mij+1)
			{break;}
			
	}
	g.open("fact.out",ios::out);
	if (gasit==3)
		g<<min;
	else
		g<<-1;
	f.close();
	g.close();
}