P5736
# P5736 【深基7.例2】质数筛 (定义布尔函数反向筛查素数判断质数)
题目描述
输入 个不大于 100000 的整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。
#include<bits/stdcpp.h>
#include<iostream>
using namespace std;
bool su(int a)//善用布尔运算符,进行素数判断,排除素数就是质数了
{
if(a<2)
{
return false;
}
for (int i = 2; i <= a/2;i++)//如果i得大小超过a得一半,那肯定是整除不了的
{
if( a%i ==0)
{
return false;
}
}
return true;
}
int main(){
int numn;
int n[101]={0};
cin >> numn;
for (int i = 1; i <= numn;i++)
{
cin >> n[i];
if(su(n[i]))//利用定义的布尔函数,当返回值为true时就会输出
{
cout << n[i] << " ";
}
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
在线编辑 (opens new window)
最近编辑时间: 2024/01/25 20:50:42