Pagini recente » Cod sursa (job #2652202) | Cod sursa (job #2705187) | Cod sursa (job #2325695) | Cod sursa (job #220292) | Cod sursa (job #2970393)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("gfact.in");
ofstream out("gfact.out");
long long fv[200000000], p, q;
int fact(int m) {
int cnt = 0;
for (int i = 1; i <= m; i++) {
int aux = i;
while (aux % p == 0) {
aux = aux / p;
cnt++;
}
}
return cnt;
}
void caut_bin(int x) {
int st = 1, dr = 200000000, rez = -1;
while (st <= dr) {
long long m = (st + dr) / 2;
if (fact(m) < q) {
st = m + 1;
}
else if (fact(m) == q) {
rez = m;
dr = m - 1;
}
else {
dr = m - 1;
}
}
out << rez;
}
int main() {
in >> p >> q;
fv[p] = q;
caut_bin(p);
}