Pagini recente » Cod sursa (job #858754) | Cod sursa (job #376025) | Cod sursa (job #1996128) | Cod sursa (job #1773578) | Cod sursa (job #56938)
Cod sursa(job #56938)
#include <cstdio>
#include <cmath>
#define MAX 1000001
FILE *in = fopen("divprim.in","r"), *out = fopen("divprim.out","w");
int t, n, k;
int a[MAX+1] = {0};
int sol[MAX][7] = {{0}};
void init()
{
for ( int i = 2; i <= MAX; i += 2 )
++a[i];
for ( int i = 3; i <= MAX; i += 2 )
{
if ( !a[i] )
{
++a[i];
for ( int j = (i<<1); j <= MAX; j += i )
++a[j];
}
}
}
int main()
{
init();
fscanf(in, "%d", &t);
for ( int i = 0; i < t; ++i )
{
fscanf(in, "%d %d", &n, &k);
while ( a[n] != k && n >= 1 )
--n;
if ( n >= 2 )
fprintf(out, "%d\n", n);
else
fprintf(out, "%d\n", 0);
}
return 0;
}