质数筛选(打印1~100质数)

· · 个人记录

#include <iostream>
using namespace std;

int main() {
    bool is_prime[105];
    // 先全部初始化为true
    for (int i = 2; i <= 100; i++) {
        is_prime[i] = true;
    }

    // 遍历2~10,其倍数记为false 
    for (int i = 2; i * i <= 100; i++) {
        if (is_prime[i] == true) {
            for (int j = i * i; j <= 100; j += i) {
                is_prime[j] = false;
            }
        }
    }
    // 打印结果 
    for (int i = 2; i <= 100; i++) {
        if (is_prime[i] == true) {
            cout << i << " ";
        }
    }

    return 0;
}