Pagini recente » Cod sursa (job #2465938) | Cod sursa (job #1510908) | Cod sursa (job #2320597) | Cod sursa (job #2151361) | Cod sursa (job #1520566)
#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)
{
int ls = 1;
int ld = 2000000000;
int mid;
while (ls <= ld)
{
mid = ls + (ld-ls) / 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;
}