Pagini recente » Cod sursa (job #267517) | Cod sursa (job #772103) | Cod sursa (job #361583) | Cod sursa (job #2488094) | Cod sursa (job #2535143)
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int ciur[1000001],mat[7][1000001],aux1[8];
int main()
{
freopen("divprim.in","r",stdin);
freopen("divprim.out","w",stdout);
int n,i,j,nr,k,t,aux,afi,st,dr,mij;
cin>>t;
for(i=2;i*i<=1000000;i++){
if(ciur[i]==0){
for(j=i;j<=1000000;j+=i){
ciur[j]++;
}
}
}
for(i=1;i<=1000000;i++){
aux1[ciur[i]]++;
mat[ciur[i]][aux1[ciur[i]]]=i;
}
for(i=1;i<=t;i++){
cin>>nr>>k;
st=1;
dr=aux1[ciur[i]];
while(st<=dr){
mij=(st+dr)/2;
if(mat[ciur[i]][mij]<=nr){
st=mij+1;
afi=mat[ciur[i]][mij];
}
else
dr=mij-1;
}
cout<<afi<<'\n';
}
return 0;
}