您的位置:首页 > 其它

UVALive 5987

2015-08-24 18:25 357 查看
求第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\n",ans[n-1]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: