Pagini recente » Cod sursa (job #909598) | Borderou de evaluare (job #1308519) | Borderou de evaluare (job #2011858) | Borderou de evaluare (job #797002) | Cod sursa (job #2609082)
#include <bits/stdc++.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long p, n, mij, k = -1, val, st = 1, dr = (long long)(1 << 30) * (1 << 30);
long long evaluare5adicaFact(long long n)
{
long long s = 0, x = 5;
while (x <= n)
{
s += n / x;
x *= 5;
}
return s;
}
int main()
{
f >> p;
while (st <= dr)
{
mij = (st + dr) / 2;
val = evaluare5adicaFact(mij);
if (val == p)
{
k = mij;
dr = mij - 1;
}
else if (val > p)
dr = mij - 1;
else
st = mij + 1;
}
g << k;
return 0;
}