Pagini recente » Cod sursa (job #2603184) | Cod sursa (job #1541613) | Cod sursa (job #2591991) | Cod sursa (job #646407) | Cod sursa (job #2791810)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int P;
int ZeroF(int x)
{
int p = 5 , rasp = 0;
while(p <= x)
{
rasp += x / p;
p *= 5;
}
return rasp;
}
int main()
{
fin >> P;
if (P == 0)
{
fout << "1\n";
return 0;
}
int st , dr , mij , rasp = 0;
st = 1;
dr = 500000000;
while(st <= dr)
{
mij = (st + dr) / 2;
int r = ZeroF(mij);
if(r < P) st = mij + 1;
else if (r > P) dr = mij - 1;
else
{
rasp = mij - (mij % 5);
break;
}
}
if(rasp == 0) fout << "-1\n";
else fout << rasp << "\n";
return 0;
}