Cod sursa(job #546758)

Utilizator alia_deiCristina Sirbu alia_dei Data 5 martie 2011 14:43:57
Problema Factorial Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include<iostream.h>
#include<fstream.h>
long long mij;
ofstream g;
long long numarzerouri(long long c)
{
	long long l=0;
	while (c!=0)
	{
		c=c/5;
		l=l+c;
	}
	return l;
}
int dei(unsigned long long s, unsigned long long d, unsigned long long a)
{
//	unsigned long long mij;
	if (d<s) return -1;
	else
	{
		mij=(s+d)/2;
		long long nrz=numarzerouri(mij);
		if (nrz==a && s==d) return mij;
		else if (nrz<a) return dei(mij+1,d,a);
			else return dei(s,mij-1,a);
		//	else g<<"-1";
	}
		
	}
	
int main()
{
	
	ifstream f;
	f.open("fact.in");
	unsigned long long p;
	f>>p;
	g.open("fact.out");
	/*long long st=0;
long long dr=1000000000;
long long c;
long long n=1;
long long nrz;
if(p>0)
{
while(n)
{  
if(dr<st) {n=-1;break;} 
c=(st+dr)/2;
              nrz=numarzerouri(c);
              if(nrz==p && st==dr ) {n=st;break;} 
              else if(p>nrz) st=c+1;
						 else dr=c-1;     
	
}
}*/
dei(0,1000000000,p);
if (p==0) g<<"1";
else g<<mij;
	//g<<n;
	f.close();
	g.close();
	
	return 0;
}