Pagini recente » Cod sursa (job #2569950) | Cod sursa (job #1517674) | Cod sursa (job #981794) | Cod sursa (job #2661464) | Cod sursa (job #2897033)
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
unsigned long long p, sol, st, dr, mij, nr;
unsigned long long fact5(unsigned long long x)
{
unsigned long long sol = 0;
while (x)
{
sol = sol + x / 5;
x = x / 5;
}
return sol;
}
int main()
{
f >> p;
sol = p + 1;
st = 1;
dr = 1e18;
while (st <= dr)
{
mij = (st + dr) / 2;
nr = fact5(mij);
if (nr >= p)
{
sol = mij;
dr = mij - 1;
}
else
st = mij + 1;
}
g << (fact5(sol) == p) ? sol : -1;
return 0;
}