Pagini recente » Cod sursa (job #1184947) | Cod sursa (job #311131) | Cod sursa (job #2354289) | Cod sursa (job #1096606) | Cod sursa (job #2413189)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long p,WK;
///CAUTARE BINARA
int nr0(long long n)
{
long long k=5,s=0;
while (n/k)
{
s+=n/k;
k*=5;
}
return s;
}
int rez(long long a)
{
for (long long i=a-sqrt(WK); i<=a; i++)
if (nr0(i)==p)
return i;
return -1;
}
int r=-1;
int bs(long long i, long long j)
{
if (i > j)
return r;
long long mij=(i+j)/2;
int m0=nr0(mij);
if (m0>=p)
{
if (m0==p)
r=mij;
return bs (i,mij-1);
}
return bs(mij+1,j);
}
int main()
{
f>>p;
if (p==0)
{
g<<1;
return 0;
}
g<<bs(1,p*5);
}