数论:整除与素数

整除与素数

素数

\(\pi(n)\) 表示不小于 \(n\) 的正整数中素数的个数。

素数个数估计:\(\pi(n) \sim \dfrac{n}{\ln n}\)

Meissel-Lehmer

Meissel-Lehmer 在亚线性时间内求出 \(\pi(n)\)

。。。

线性筛素数

核心:让每一个合数被其最小质因数筛到。

for (int i = 2; i <= n; ++i) {
    if (!vis[i]) {
        prime[++cnt] = i;
    }
    for (int j = 1; j <= cnt; ++j) {
        if (i * prime[j] > n) break;
        vis[i * prime[j]] = true;
        if (i % prime[j] == 0) break;
    }
}
posted @ 2024-03-29 22:28  bluewindde  阅读(41)  评论(0)    收藏  举报