Pagini recente » Cod sursa (job #3158161) | Cod sursa (job #1813121) | Cod sursa (job #2411050) | Cod sursa (job #6908) | Cod sursa (job #2609098)
#include <bits/stdc++.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
unsigned long long n, rez;
unsigned long long calc(unsigned long long);
int main()
{
f >> n;
if (!n)
g << 1, g.flush(), exit(0);
unsigned long long st = 1ll, dr = 1ll * 1000 * 1000 * 1000 * 5;
while (st <= dr)
{
unsigned long long mid = st + ((dr - st) >> 1);
unsigned long long ax = calc(mid);
if (n == ax)
rez = mid, dr = mid - 1;
else if (ax < n)
st = mid + 1;
else
dr = mid - 1;
}
g << rez;
return 0;
}
unsigned long long calc(unsigned long long x)
{
unsigned long long p = 5, r = 0;
while (p <= x)
r += x / p, p *= 5;
return r;
}