Pagini recente » Cod sursa (job #677128) | Cod sursa (job #1587073) | Cod sursa (job #2804438) | Cod sursa (job #1595971) | Cod sursa (job #1593201)
#include <fstream>
using namespace std;
ifstream cin("gfact.in");
ofstream cout("gfact.out");
int n, put;
long long caut_bin(int x, int px)
{
long long st=1, dr=n*put, mj;
while(st<=dr)
{
mj=(st+dr)/2;
int cur=0;
long long cop=x;
while(cop<=mj)
{
cur+=mj/cop;
cop*=x;
}
if(cur<px)
st=mj+1;
else
dr=mj-1;
}
return st;
}
int main()
{
cin>>n>>put;
long long ans=0;
int f=2;
while(n>1)
{
int cur=0;
while(n%f==0)
{
cur++;
n/=f;
}
long long val=caut_bin(f, cur*put);
if(ans<val) ans=val;
}
cout<<ans;
return 0;
}