Pagini recente » Cod sursa (job #2749232) | Cod sursa (job #3033114) | Cod sursa (job #2844037) | Cod sursa (job #1115896) | Cod sursa (job #117428)
Cod sursa(job #117428)
#include<fstream>
using namespace std;
ifstream fin("frac.in");
ofstream fout("frac.out");
int b[10000000];
void citire(long long &n,long long &p)
{
fin>>n;
fin>>p;
fin.close();
}
void umple(int q,int b[10000000],long long n,long long p)
{
int j;
for(j = q; j <= 1000000;j++)
if(j%q == 0)
b[j] = 1;
}
void era(int b[10000000],long long n,long long p)
{
int i,z;
z = n;
for(i =2; i <= z/2; i++)
if(n%i == 0)
{
umple(i,b,n,p);
while(n%i == 0)
if(n%i == 0)
n/=i;
}
}
void gasire(long long p,int b[10000000],long long n)
{
int q=0,i;
for(i = 1 ; i <= 10000000;i++)
if(b[i] == 0)
{
q++;
if(q == p)
break;
}
fout<<i;
}
int main()
{
long long n,p;
citire(n,p);
era(b,n,p);
gasire(p,b,n);
fout.close();
return 0;
}