Cod sursa(job #545837)

Utilizator lazarliviaLazar Livia lazarlivia Data 3 martie 2011 23:03:39
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<iostream.h>
#include<fstream.h> 
unsigned long long catezerouri(unsigned long long n)
 {
	 int k=0,x;
	if(n<=4) return 0;
	int i=1;
	while(i<=n) 
	{	x=i;
		while(x%5==0)
	{
		k++;
		x=x/5;
	}
		i++;
	}
return k;
 }

int main()
{
unsigned long long p;
int x;
	bool gasit=false;
	ifstream f("fact.in");
	ofstream g("fact.out");
	
	f>>p;
	if(p==0) g<<1;
	else
	{
	unsigned long long mij,st=1, dr=5*p;
	while(st<=dr)
	{
		mij=(st+dr)/2;
		x=catezerouri(mij);
		if(x==p) {
			
			while(catezerouri(mij)==p) mij--;
			g<<mij+1; gasit=true;break;}
		else
			if(x<p) st=mij+1;
		else dr=mij-1;
	}

	if(!gasit) g<<-1;
	}
return 0;	
}