Pagini recente » Monitorul de evaluare | Cod sursa (job #351692) | Cod sursa (job #1190045) | Cod sursa (job #117624) | Cod sursa (job #2756614)
#include <bits/stdc++.h>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long nr0(long long x)
{
long long i,s = 0;
for (i = 5; i < x; i *= 5)
s += x / i;
return s;
}
long long cauta(long long p)
{
long long st = 1,dr = 1e18,mij,x;
while (st <= dr)
{
mij = (st + dr) / 2;
x = nr0(mij);
if (x < p)
st = mij + 1;
else
dr = mij - 1;
}
if (nr0(st) == p)
return st;
else if (nr0(dr) == p)
return dr;
else
return -1;
}
int main()
{
long long p;
in >> p;
out << cauta(p);
return 0;
}