Pagini recente » Cod sursa (job #1992216) | Cod sursa (job #599566) | Cod sursa (job #2945541) | Cod sursa (job #3344860) | Cod sursa (job #278309)
Cod sursa(job #278309)
#include <fstream.h>
#include <values.h>
//using namespace std;
long long p,nrz,i;
long long dr=MAXLONG,st,n,c;
ofstream g("fact.out");
long long nrzero( long long cif )
{
long t = 0;
while( cif )
{
t += cif/5;
cif /= 5;
}
return t;
}
long long cautare(long long st, long long dr)
{
st=0;
n=1;
if(p>0){
while(n){ c=(st+dr)/2;
nrz=nrzero(c);
if(nrz==p&&st==dr) {n=st;break;}
if(nrz==p&&st<dr) {n=(st+dr)/2-2;break;}
if(dr<st) {n=-1;break;}
if(p>nrz) st=c+1;
else dr=c-1;
}
}
return n;
}
int main()
{
ifstream f("fact.in");
f>>p;
// dr=p*5;
i=cautare(st,dr);
g<<i;
return 0;}