Pagini recente » Cod sursa (job #1983330) | Cod sursa (job #1971644) | Cod sursa (job #2481156) | Cod sursa (job #2269819) | Cod sursa (job #1727345)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
const long long maxp = 1LL << 61; // LL doar pentru long long
long long p;
long long zeros(long long x) {
long long nr = 0;
while (x != 0) {
nr = nr + (x / 5);
x = x / 5;
}
return nr;
}
void solve() {
long long st=1, dr=maxp, mij, nrzeros;
if (p == 0) {
fout << 1LL;
return;
}
while (st < dr) {
mij = (st + dr) / 2; //echivalent
nrzeros = zeros(mij);
if (nrzeros == p) {
fout << mij - (mij%5);
return;
}
if (nrzeros < p)
st = mij + 1;
else
dr = mij - 1;
}
fout << -1;
}
int main()
{
fin >> p;
solve();
return 0;
}