筛选法求100以内的素数

将100个自然数有序排列。
第一个数1不是质数也不是合数,不做处理。
第二个数2是质数,留下,并把100以内能将2整除的数划掉(置为1)
第三个数3是质数,留下,并把100以内能将3整除的数划掉(置1)



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
#include <stdio.h>
#include <math.h>

int isPreme(int x);

int main() {
int num[100];
for (int i = 1; i <= 100; i++){
num[i-1] = i;
}
for (int i = 0; i < 100; i++) {
if (num[i] == 1)
continue;
else if (num[i] != 1){
for (int j = i + 1; j < 100; j++) {
if (num[j] % num[i] == 0)
num[j] = 1;
}
}
}
for (int i = 0; i < 100; i++) {
if (i == 0) printf("%d\t", num[i]);
else if (num[i] != num[0])
printf("%d\t",num[i]);

}

}
------ 本文结束 ------
0%