求第n个数,该数满足至少由3个不同的素数的乘机组成
#include
#include
#include
#include
#include
using namespace std;
int prim[5000];
int ans[5000];
int cnt1,cnt2;
void getvis(){
cnt1=-1;
for(int i=2;i<=5000;i++){
bool flag=false;
for(int j=2;j<=sqrt(i);j++){
if(i%j==0){
flag=true;
break;
}
}
if(!flag)
prim[++cnt1]=i;
}
}
void getans(){
cnt2=-1;
for(int i=30;i<=5000;i++){
int num=0;
for(int j=0;j<=cnt1;j++){
if(i%prim[j]==0)
num++;
}
if(num>=3){
ans[++cnt2]=i;
}
}
}
int main(){
int t;
scanf("%d",&t);
getvis();
getans();
while(t--){
int n;
scanf("%d",&n);
printf("%d
",ans[n-1]);
}
return 0;
}