AC代码:
不是好代码
#include<iostream>
using namespace std;
int isprime(int n){ //判断质数
if(n==2) return 1;
if(n<2 || n%2==0) return 0;
for(int i=3; i*i<=n; i++){
if(n%i == 0)
return 0;
}
return 1;
}
int main(){
int n;
cin >> n;
int buf[n], a[n]; //数组 a 和 数组 buf 下标保持一致,数组 a[i] 为 1,表示 buf[i] 为质数
for(int i=0; i<n; i++){
cin >> buf[i];
a[i]=0; //输入同时对数组 a 置 0
}
for(int i=0; i<n; i++){
if(isprime(buf[i])){ //判断 buf[[i] 是否是质数
a[i]=1;
}
}
for(int i=0; i<n; i++){
if(a[i] == 1){ // a[i] 为 1,则 buf[i] 为质数
cout << buf[i] << ' ';
}
}
return 0;
}