Cod sursa(job #383046)

Utilizator hulparuadrianhulparu adrian hulparuadrian Data 15 ianuarie 2010 15:21:42
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<iostream>
#include<fstream>
	using namespace std;
				 ifstream f("fact.in");
				 ofstream g("fact.out");
unsigned long func(unsigned long c)
{
unsigned long nrz=0,i=1,aux;
while(aux!=0)
{aux=c;
for(int l=1;l<=i;l++)
aux/=5;
nrz+=aux;i++;}
return nrz;
			 }
unsigned long a=0,b=2000000000,p,j,c,k,sol=0;

int main()
{
	f>>p;
	f.close();
	
    do
	{
		 c=(a+b)/2,k=func(c);
		 if (k==p) {sol=c;break;}
		 if (k>p) b=c-1;
			  else a=c+1;}
			  while(a<b);
for(j=a;j<c;j++)
if (func(j)==p) {sol=j;break;}
if (p==0){g<<"1";return 0;}
if (!sol) g<<"-1";
   else g<<sol;
   g.close(); 
	return 0;
	}