关于素数分布的一个重要结论是素数定理: `pi(x) ~ "li"(x) ~ x/(ln x)`, `quad x to oo`. 其中 `pi(x)` 是 `x` 以内 (即 `le x`) 的素数个数, 而 `"li"(x) = int_0^x dt/(ln t)` `= lim_(epsi to 0^+) int_0^(1-epsi) + int_(1+epsi)^x`. 它的证明比较复杂, 我们只证较弱的结论 `pi(x) = Theta(x/(ln x))`. 换言之, `x` 充分大时, 存在正的常数 `c_1, c_2` 使 `c_1 x/(ln x) le pi(x) le c_2 x/(ln x)`. 此即著名的 Чебышев 不等式.
由素数定理推出 `p_n ~ n ln n`, `p_n` 是第 `n` 个素数.
[来自 zz] 由 `pi(x) ~ x/(ln x)` 取对数得 `ln pi(x) = ln x - ln ln x + o(1)`. 于是 `p_n/(n ln n)` `= p_n/(pi(p_n) ln pi(p_n)` `= (ln p_n)/(ln p_n - ln ln p_n + o(1))` `to 1`.
用 Eratosthenes 筛法求 100 以内的素数个数.
`sqrt 100 = 10`, 而 10 以内的素数为 2, 3, 5, 7. 对于 `10 lt n le 100`, 只要 `n` 与 2, 3, 5, 7 互素, 就能保证为素数. 而对于 `n le 10`, 只有 1 与 2, 3, 5, 7 互素. 换言之, 100 以内与 2, 3, 5, 7, 互素的整数个数为 `pi(100) - pi(10) + 1`. 记 `P = 2 * 3 * 5 * 7`, 称为一个筛子. `A = {1, cdots, 100}` 是待筛的整数. 定义筛函数为 `S(A, P) = sum_(a in A, (a,P) = 1) 1`, 表示通过了筛选的整数个数. 于是 `S(A, P) = pi(100) - pi(10) + 1`. 又记 `A_d` 为 `A` 中所有 `d` 的倍数, 则 `|A_d| = |__100/d__|`. 由容斥原理, `S(A, P)` `= |A| - |A_2| - |A_3| - |A_5| - |A_7|` `+ |A_(2*3)| + |A_(2*5)| + |A_(2*7)| + |A_(3*5)| + |A_(3*7)| + |A_(5*7)|` `- |A_(2*3*5)| - |A_(2*3*7)| - |A_(2*5*7)| - |A_(3*5*7)|` `+ |A_(2*3*5*7)|` `= 100 - 50 - 33 - 20 - 14 + 16 + 10 + 7 + 6 + 4 + 2` `- 3 - 2 - 1 - 0 + 0` `= 22`. 因此 `pi(100) = S(A, P) + pi(10) - 1 = 22 + 4 - 1 = 25`.
设 `A` 为有限个整数的集合, `A_d` 为 `A` 中所有 `d` 的倍数. 筛子 `P` 为一个正整数, 且 `P` 的所有素因子为 `p_1, cdots, p_s`. 那么 `S(A, P) := sum_(a in A, (a,P) = 1) 1` `= sum_(r=0)^s (-1)^r sum_(i_1 lt cdots lt i_r) |A_(p_(i_1) cdots p_(i_r))|`. 使用 Möbius 函数 `mu(n) = { 1, if n = 1; (-1)^r, if n = p_1 cdots p_r 为不同素数的乘积; 0, if n 含有平方因子 :}` 结论简记为 `S(A, P) = sum_(d | P) mu(d) |A_d|`. 特别当 `A = {1, cdots, n}`, `P = n` 时, 得到 Euler 函数的表达式 `varphi(n) = sum_(d | n) mu(d) n//d` `= n prod_(p | n) sum_(p^a | n) mu(p^a)//p^a` `= n prod_(p | n) (1 - 1//p)`.
利用公式 `sum_(d | P) mu(d) = { 1, if P = 1; 0, if P gt 1 :}` 有 `sum_(a in A, (a,P) = 1) 1` `= sum_(a in A) sum_(d | (a,P)) mu(d)` `= sum_(d | P) mu(d) sum_(a in A, d | a) 1` `= sum_(d | P) mu(d) |A_d|`.
Чебышев 不等式
记 `pi(x)` 是不超过 `x` 的素数个数, `p_n` 为第 `n` 个素数. 我们有
`color(#663)(1/3 ln 2)x/(ln x)`
`lt pi(x)`
`lt color(#663)(6 ln 2)x/(ln x)`, `quad AA x ge 2`
`color(#663)(1/(6 ln 2)) n ln n`
`lt p_n`
`lt color(#663)(8/(ln 2)) n ln n`, `quad AA n ge 2`.
Mangoldt 函数的和函数是对数函数: `sum_(d | n) Lambda(d) = ln n`.
设 `p` 在 `n` 中的次数为 `a_p`, 利用算术基本定理, 左边等于 `sum_(p^a | n) ln p` `= a_p sum_(p | n) ln p` `= ln(prod_(p | n) p^(a_p))` `= ln n`.
`x ge 1` 时, `sum_(n le x) psi(x // n) = ln(|__x__|!)`.
由定义, 左边等于 `sum_(n le x) sum_(k le x//n) Lambda(k)` `= sum_(n le x) sum_(n k le x) Lambda(k)` `==^(n k = m) sum_(m le x) sum_(n | m) Lambda(m/n)` `= sum_(m le x) ln m` 等于右边.