Pagini recente » Cod sursa (job #159045) | Statistici Turcu Stiolica Alexandru (panterasbook29) | Cod sursa (job #2112963) | Cod sursa (job #734766) | Cod sursa (job #1770568)
#include <climits>
#include <fstream>
long long nr_zerouri(long long n)
{
long long nr = 0, x = 5;
while (x <= n)
{
nr += n / x;
x *= 5;
}
return nr;
}
long long binara(long long kzero)
{
long long st = 1, dr = 50, mij, rez;
while (st <= dr)
{
mij = (st + dr) / 2;
rez = nr_zerouri(mij);
if (rez == kzero) return mij - mij % 5;
else if (kzero < rez) dr = mij - 1;
else st = mij + 1;
}
return -1;
}
int main()
{
int n;
std::ifstream("fact.in") >> n;
std::ofstream("fact.out") << ((n == 0) ? 1 : binara(n));
return 0;
}