Pagini recente » Cod sursa (job #655573) | Cod sursa (job #227292) | Cod sursa (job #1944287) | Cod sursa (job #449463) | Cod sursa (job #2614893)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("frac.in");
ofstream out("frac.out");
int const nmax=2000005;
long long int n=nmax,pr=2,p,pp[nmax],m;
unsigned char a[nmax];
int main(){
pp[1]=1;
in >>m>>p;
if(m %2==1){
pp[2]=2;
pr=3;
}
for(int i=3;i<=n;i=i+2){
if(a[i>>4] & (1<<((i>>1) & 7))) continue;
if( m % i !=0){
pp[pr]=i;
if(pr==p){
out <<pp[pr];
break;
}
pr++;
}
for(int j=i*3;j<=n;j+=i+i){
a[j >> 4] |= 1 << ((j>>1) & 7);
}
}
}