Pagini recente » Cod sursa (job #1254514) | Cod sursa (job #951585) | Rating Petrean Roland (Ottelinowo) | Cod sursa (job #696313) | Cod sursa (job #1414959)
#include<cstdio>
using namespace std;
#define MAX_N 1000000
int a[10][MAX_N+15];
char ciur[MAX_N+15];
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++) {
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;
}