Pagini recente » Cod sursa (job #457266) | Cod sursa (job #208787) | Cod sursa (job #2191016) | Cod sursa (job #631581) | Cod sursa (job #1414953)
#include<cstdio>
using namespace std;
#define MAX_N 1000000
int a[8][MAX_N+1];
char ciur[MAX_N+1];
void ciuruire() {
int i, j;
for(i=2;i*i<=MAX_N;){
for(j=1;j*i<=MAX_N;j++)
ciur[i*j]++;
while(ciur[i]!=0)
i++;
}
for(i=2;i<=MAX_N;i++){
if(i==123122){
i=i+1;i--;
}
a[1][i]=a[1][i-1];
a[2][i]=a[2][i-1];
a[3][i]=a[3][i-1];
a[4][i]=a[4][i-1];
a[5][i]=a[5][i-1];
a[6][i]=a[6][i-1];
a[7][i]=a[7][i-1];
a[ciur[i]][i]=i;
}
}
int main(){
freopen("divprim.in","r",stdin);
freopen("divprim.out","w",stdout);
int t;
scanf("%d",&t);
ciuruire();
while(t-->0){
int n, k;
scanf("%d%d",&n,&k);
if(k==0)
printf("1\n");
else
printf("%d\n",a[k][n]);
}
return 0;
}