Pagini recente » Cod sursa (job #1764689) | Cod sursa (job #1272610) | Cod sursa (job #1933321) | Cod sursa (job #1286454) | Cod sursa (job #2793537)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("gfact.in");
ofstream fout("gfact.out");
long long cmdp(long long p){
long long div, x;
div = 2;
while(div * div < p){
while(p % div == 0){
p /= div;
x = div;
}
div++;
}
if(p > 1) x = p;
return x;
}
long long nrapp(long long n, long long x){ /// la ce putere este x in n! ???
int p = x, rasp = 0;
while(p <= n){
rasp += (n / p);
p *= x;
}
return rasp;
}
int main()
{
long long p, q, x, dr, st, mij;
fin >> p >> q;
x = cmdp(p);
st = 1;
dr = 100;
while(dr - st > 1){
mij = (st + dr) / 2;
if(nrapp(mij, x) > q)
dr = mij;
else
st = mij;
}
while(nrapp(st, x) == q) st--;
st++;
fout << st;
return 0;
}