题目描述
输入 n(n≤100) 个不大于 100000 的整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。
输入格式
无
输出格式
无
输入输出样例
输入
5
3 4 5 6 7
输出
3 5 7
我咋觉得这个题应该算入门难度讷?
#include<bits/stdc++.h>
using namespace std;
int isit(int);
int main(){
int n,m;
cin>>n;
int all[n],judge[n];
for(int i=0;i<n;i++){
cin>>all[i];
m=isit(all[i]);
if(m==1){
judge[i]=1;
}
else{
judge[i]=0;
}
//printf("%d ",judge[i]);
}
for(int i=0;i<n;i++){
if(judge[i]==1){
printf("%d ",all[i]);
}
}
return 0;
}
int isit(int a){
if(a==0||a==1){
return 0;
}
if(a==2){
return 1;
}
else{
for(int j=2;j<=(int)sqrt((double)a);j++){
if(a%j==0){
return 0;
}
}
return 1;
}
}