Cod sursa(job #471338)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 18 iulie 2010 11:28:36
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream>
using namespace std;
int m;
int cinci(long n)
{
	m=0;
	while(n)
	{
		m=m+(n/5);
		n=n/5;
		n-=n%5;
	}
	return m;
}

int main()
{
	ifstream f("fact.in");
	ofstream g("fact.out");
	int p,i,c,st=0,dr=400000015;
	f>>p;
	//caut binar rezultatul care sa se potriveasca
	if(p)
	while(st<dr)
	{
		if(cinci((st+dr)/2)==p) st=dr=((st+dr)/2)-((st+dr)/2)%5;
		else if(cinci((st+dr)/2)>p) dr=(st+dr)/2;
		else if(cinci((st+dr)/2)<p) st=(st+dr)/2;
	}
	if(!p) g<<1;
	if(st==dr) g<<dr;else if(st>dr) g<<-1;
	f.close();
	g.close();
	return 0;
}