Pagini recente » Cod sursa (job #2662498) | Cod sursa (job #2417195) | Cod sursa (job #2577300) | Cod sursa (job #2634038) | Cod sursa (job #1753393)
#include <fstream>
#define DIM 1000001
using namespace std;
int v[DIM],i,j,t,k,n;
int a[DIM][8];
ifstream fin ("divprim.in");
ofstream fout ("divprim.out");
int main (){
v[0] = 0;
v[1] = 0;
for (i=2;i<=DIM;i++){
if (v[i]==0)
for (j=i;j<=DIM;j+=i)
v[j]++;
}
// construim o matrice a
// care e cel mai mare ne mai mic ca n care are
// j factori primi
// a[i][j] --- ce nr mai mic ca n are exact j factori
for (i=1;i<DIM;i++){
for (j=0;j<=7;j++)
a[i][j] = a[i-1][j]; // valoarea anterioarei
a[i][v[i]] = i;
}
fin>>t;
for (i=1;i<=t;i++){
fin>>n>>k;
if (k != 0)
fout<<a[n][k]<<"\n";
else{
fout<<1<<"\n";
}
/*int ok = 0;
for (j=n-1;j>=1;j--)
if (v[j] == k){
ok++;
fout<<j<<"\n";
break;
}
if (ok == 0)
fout<<0<<"\n";
*/
}
return 0;
}