Pagini recente » Cod sursa (job #2109322) | Cod sursa (job #454673) | Cod sursa (job #2028353) | Cod sursa (job #1412070) | Cod sursa (job #1140231)
#include <algorithm>
#include <fstream>
using namespace std;
ifstream in("gfact.in");
ofstream out("gfact.out");
int prim;
int zero(int n)
{
int sum;
sum = 0;
while(n)
{
sum += n / prim;
n /= prim;
}
return sum;
}
int main()
{
int p, q, primcurent, nrprim, i, pas;
in>>p>>q;
prim = 0;
primcurent = 1;
while(!(p % 2))
{
p /= 2;
primcurent *= 2;
}
prim = max(prim, primcurent);
nrprim = 3;
while(p != 1)
{
primcurent = 1;
while(!(p % nrprim))
{
p /= nrprim;
primcurent *= nrprim;
}
prim = max(prim, primcurent);
nrprim += 2;
}
i = 0;
pas = 1 << 30;
while(pas)
{
if(zero(i + pas) < q)
{
i += pas;
}
pas /= 2;
}
out<<i + 1<<'\n';
return 0;
}