Pagini recente » Cod sursa (job #2525001) | Cod sursa (job #1767838) | Cod sursa (job #1165522) | Cod sursa (job #2438755) | Cod sursa (job #2381367)
#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;
}