Pagini recente » Cod sursa (job #2515324) | Cod sursa (job #1114424) | Cod sursa (job #1829329) | Cod sursa (job #2917192) | Cod sursa (job #1370693)
#include <iostream>
#include <cstdio>
#define n_max 1000000
#define k_max 14
using namespace std;
int c[n_max+3],m[n_max+3][k_max+3];
void ciur()
{
for ( int i = 2 ; i <= n_max ; i ++ )
if ( not c[i] )
{
c[i] = 1 ;
for ( int j = i + i ; j <= n_max ; j += i )
c[j] ++ ;
}
}
void sol()
{
for ( int i = 1 ; i <= n_max ; i ++ )
{
for ( int j = 0 ; j <= k_max ; j ++ )
m[i][j] = m[i-1][j] ;
m[i][c[i]] = i ;
}
}
void afish()
{
int n ;
scanf( "%d" , &n ) ;
for ( ; n ; n -- )
{
int nr , k ;
scanf( "%d %d" , &nr , &k ) ;
printf( "%d\n" , m[nr][k] ) ;
}
}
int main()
{
freopen( "divprim.in" , "r" , stdin ) ;
freopen( "divprim.out" , "w" , stdout ) ;
ciur() ;
sol() ;
afish() ;
return 0;
}