题解
2026-05-02 14:47:25
发布于:广东
2阅读
0回复
0点赞
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int a[10001];
int b[10001]; // 存质数
int cnt = 0; // 质数个数
for (int i = 0; i < n; i++) {
cin >> a[i];
int x = a[i];
// 判断质数
if (x <= 1) continue; // 小于等于1不是质数
bool zhishu = true;
for (int k = 2; k * k <= x; k++) { // 推荐 k*k 写法
if (x % k == 0) {
zhishu = false;
break;
}
}
// 是质数就放进 b 数组
if (zhishu) {
b[cnt++] = x;
}
}
// 排序
sort(b, b + cnt);
// 输出
for (int i = 0; i < cnt; i++) {
cout << b[i] << " ";
}
return 0;
}
这里空空如也



有帮助,赞一个