Cod sursa(job #443594)

Utilizator MurphYZoRMarius Eu de la 9B-re MurphYZoR Data 17 aprilie 2010 17:57:40
Problema Factorial Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<iostream>
#include<fstream.h>
ifstream f("fact.in");
ofstream g("fact.out");
using namespace std;
long long st,dr,p;
long nrz( long c )
{
	  long p = 0;
	  while( c )
	  {
				p += c/5;
				c /= 5;
	  }
	  return p;
}
int main()
{long long mij,ok;
f>>p;
f.close();
	st=0;dr=100000000;ok=0;
if (p==0) g<<1;
else
{
	while (st <= dr&&!ok)
     {
            mij = (st + dr)/2;
                  
            if (nrz(mij) == p)  {ok=1;}
            else
            if (nrz(mij) < p )  st = mij + 1; 
                       else dr = mij - 1;
                       }

 
for(;mij % 5;mij--); 
	if (nrz(mij)==p) g<<mij;
else g<<-1;}
g.close();
return 0;
}