Pagini recente » Cod sursa (job #1923671) | Cod sursa (job #2295205) | Cod sursa (job #2245472) | Cod sursa (job #2325285) | Cod sursa (job #2278109)
#include <cstdio>
using namespace std;
int k[50000];
int v[5140],save[5140];
unsigned long long int con;
void prim ()
{
int i;
con=1;
v[con]=2;
for (i=3;i<=50000;i=i+2)
{
if (k[i]==0)
{
con++;
v[con]=i;
for (int j=i;j<=50000;j=j+i)
{
k[j]++;
}
//printf("%d\n",i);
//con++;
}
}
}
int main()
{
freopen ("frac.in","r",stdin);
freopen ("frac.out","w",stdout);
long long int n,p,cn;
unsigned long long int a,i,j;
scanf("%lld%lld",&n,&p);
cn=n;
prim();
a=0;
for (i=1;i<=5140;i++)
{
if (n%v[i]==0)
{
while (cn%v[i]==0)
{
cn=cn/v[i];
}
a++;
save[a]=v[i];
v[i]=1;
}
if (v[i]>n)
{
i=5144;
}
if (cn==1)
{
i=5144;
}
}
con=1;
i=1;
while (con!=p)
{
con++;
i++;
for (j=1;j<=a;j++)
{
if (i%save[j]==0)
{
j=a+1;
con--;
}
}
}
printf("%lld",i);
return 0;
}