筛选法求100以内的素数

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


#include 
#include 

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]);

    }

}

你可能感兴趣的:(C/C++)