题目描述
输入 nnn 个不大于 10510^5105 的整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。
输入格式
第一行输入一个正整数 nnn,表示整数个数。
第二行输入 nnn 个正整数 aia_iai ,以空格隔开。
输出格式
输出一行,依次输出 aia_iai 中剩余的质数,以空格隔开。
输入数据 1
5
3 4 5 6 7
输出数据 1
3 5 7
提示
数据保证,1≤n≤100,1≤ai≤1051 \le n \le 100, 1 \le a_i \le 10^51≤n≤100,1≤ai≤105
代码
#include <iostream>
using namespace std;
bool pri(int x) {
if (x == 1)
return false;
for (int j = 2; j * j <= x; j++)
if (x % j == 0)
return false;
return true;
}
int main() {
int n, a[100005];
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
if (pri(a[i]))
cout << a[i] << ' ';
}
return 0;
}