Pagini recente » Cod sursa (job #3228657) | Cod sursa (job #3127353) | Cod sursa (job #1942222) | Cod sursa (job #1080518) | Cod sursa (job #2970323)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long fv[6];
void fact(int a) {
fv[2] = fv[5] = 0;
for (long long i = 2; i <= a; i++) {
long long aux = i;
while (aux % 2 == 0) {
aux = aux / 2;
fv[2]++;
}
while (aux % 5 == 0) {
aux = aux / 5;
fv[5]++;
}
}
}
int zero(int a) {
int x = fv[5], y = fv[2];
if (x > y) {
int aux = x;
x = y;
y = aux;
}
return x;
}
void caut_bin(int x) {
long long st = 1, dr = 99999998, rez = -1;
while (st <= dr) {
long long m = (st + dr) / 2;
fact(m);
int cnt = fv[5];
if (cnt < x) {
st = m + 1;
}
else if (cnt == x) {
rez = m;
dr = m - 1;
}
else {
dr = m - 1;
}
}
out << rez;
}
int main() {
int x;
in >> x;
caut_bin(x);
}