Pagini recente » Cod sursa (job #2443117) | Cod sursa (job #1242112) | Cod sursa (job #1151636) | Cod sursa (job #3305278) | Cod sursa (job #1520567)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int N, P;
int nr;
int zeroes(int x)
{
int ans = 0;
int pow = 5;
while (pow <= x)
{
ans += x / pow;
pow *= 5;
}
return ans;
}
int cautare(int P)
{
long long ls = 1;
long long ld = 2000000000;
int mid;
while (ls <= ld)
{
mid = (ls + ld) / 2;
int nr = zeroes(mid);
if (nr == P)
{
return mid - mid%5;
}
if (nr >= P)
{
ld = mid - 1;
}
else
{
ls = mid + 1;
}
}
return -1;
}
int main()
{
f >> P;
nr = cautare(P);
if (nr > 0)
{
g << nr;
}
else g << "-1";
return 0;
}