Pagini recente » Cod sursa (job #1257659) | Cod sursa (job #2182267) | Cod sursa (job #1303559) | Cod sursa (job #2846085) | Cod sursa (job #1075837)
#include <fstream>
using namespace std;
ifstream f("divprim.in");
ofstream g("divprim.out");
const int N=1000001;
int a[8][N],v[8];
int div(int x){
int nr=0;
if(x%2==0){
nr++;
while(x%2==0)
x=x/2;
}
for(int i=3;i*i<=x;i+=2)
if(x%i==0){
nr++;
while(x%i==0)
x=x/i;
}
if(x!=1)
nr++;
return nr;
}
int main()
{
int i,pas,x,n,k,j,t;
f>>t;
for(i=1;i<=N;i++){
x=div(i);
v[x]++;
a[x][v[x]]=i;
}
for(j=1;j<=t;j++){
f>>n>>k;
pas=1<<10;
i=0;
while(pas!=0){
if(i+pas<v[k] && a[k][i+pas]<=n)
i+=pas;
pas/=2;
}
g<<a[k][i]<<"\n";
}
return 0;
}