本文同步发布至 洛谷
斐波那契数列
作为世界上最神奇的数列之一,斐波那契数列与许许多多的数学知识有着关系。下面说几条经典的性质加证明。
我们先定义 f 0 = 0 f_0=0 f0=0, f 1 = 1 f_1=1 f1=1, f n = f n − 1 + f n − 2 ( n ≥ 2 ) f_n=f_{n-1}+f_{n-2}\ \ (n\ge 2) fn=fn−1+fn−2 (n≥2)。这个应该都会吧。
性质1:可以用矩阵快速幂或倍增求出第 n n n 项
首先讲一下什么是矩阵快速幂。
简单来说就是把快速幂的思想放在矩阵上,对于一个矩阵 A A A,它的 A n A^n An 也是可以拆分成 A n 2 × A n 2 A^{\frac{n}{2}}\times A^{\frac{n}{2}} A2n×A2n 的,也就是说可以进行 O ( log n ) \cal O(\log n) O(logn) 级别的快速幂的。然后考虑一个基本矩阵 I I I(和快速幂中的 1 1 1 差不多),依次翻倍做快速幂。
然后我们再来考虑一下这个和斐波那契的关系。
从相邻的式子看起,我们先用一个二维向量 v \mathbf v v 来表示 [ f n f n − 1 ] \begin{bmatrix} f_n \\ f_{n-1}\end{bmatrix} [fnfn−1],即 v n = [ f n f n − 1 ] \mathbf {v_n} = \begin{bmatrix} f_n\\f_{n-1}\end{bmatrix} vn=[fnfn−1]。那么我们也可以写出 v n + 1 = [ f n + 1 f n ] = [ f n + f n − 1 f n ] \mathbf {v_{n+1}}=\begin{bmatrix} f_{n+1}\\f_n\end{bmatrix}=\begin{bmatrix} f_{n}+f_{n-1}\\f_n\end{bmatrix} vn+1=[fn+1fn]=[fn+fn−1fn],思考二者的关系,发现可以乘 [ 1 1 1 0 ] \begin{bmatrix} 1&1\\1&0 \end{bmatrix} [1110] 进行转换,设这个矩阵为 A A A,则有 v n + 1 = v n × A \mathbf {v_{n+1}}=\mathbf {v_n}\times A vn+1=vn×A。
因为矩阵可累乘,所以说 v n = A n − 1 × v 1 \mathbf {v_n}=A^{n-1}\times \mathbf v_1 vn=An−1×v1,其中 v 1 = [ f 1 f 0 ] = [ 1 0 ] \mathbf {v_1}=\begin{bmatrix}f_1\\f_0 \end{bmatrix}=\begin{bmatrix}1\\0 \end{bmatrix} v1=[f1f0]=[10]。这个可以用数学归纳法证明,比较简单,省略。
n = 1 n=1 n=1 时,有 A 1 = [ 1 1 1 0 ] = [ F 2 F 1 F 1 F 0 ] = [ 1 1 1 0 ] A^1=\begin{bmatrix}1&1\\1&0\end{bmatrix} =\begin{bmatrix}F_2&F_1\\ F_1&F_0\end{bmatrix} =\begin{bmatrix}1&1\\1&0\end{bmatrix} A1=[1110]=[F2F1F1F0]=[1110] 成立。
假设 A n = [ F n + 1 F n F n F n − 1 ] A^{\,n}=\begin{bmatrix}F_{n+1}&F_n\\ F_n&F_{n-1}\end{bmatrix} An=[Fn+1FnFnFn−1] 成立,考虑 n + 1 n+1 n+1,显然有
A n + 1 = A n A = [ F n + 1 F n F n F n − 1 ] [ 1 1 1 0 ] = [ F n + 1 + F n F n + 1 F n + F n − 1 F n ] = [ F n + 2 F n + 1 F n + 1 F n ] A^{\,n+1}=A^{\,n}A =\begin{bmatrix}F_{n+1}&F_n\\ F_n&F_{n-1}\end{bmatrix} \begin{bmatrix}1&1\\1&0\end{bmatrix} =\begin{bmatrix} F_{n+1}+F_n & F_{n+1}\\ F_n+F_{n-1} & F_n \end{bmatrix} =\begin{bmatrix} F_{n+2} & F_{n+1}\\ F_{n+1} & F_n \end{bmatrix} An+1=AnA=[Fn+1FnFnFn−1][1110]=[Fn+1+FnFn+Fn−1Fn+1Fn]=[Fn+2Fn+1Fn+1Fn]。
与命题形式一致,归纳完成。
由该恒等式就可以得到 F n = ( A n ) 1 , 2 F_n=(A^{\,n})_{1,2} Fn=(An)1,2 或 F n = ( A n − 1 ) 0 F_n=(A^{n-1})_0 Fn=(An−1)0。
当我求出 A n A^n An 或 A n − 1 A^{n-1} An−1 的时候,我的第 n n n 项也就知道了,那么我们也就只要 log n \log n logn 的时间就可以了。
#include <bits/stdc++。h> #define int64 long long const long long mod=1e9+7;//模数可选 using namespace std; struct Matrix { long long a[2][2]; Matrix() { memset(a, 0, sizeof(a)); } }; Matrix mul(const Matrix &x, const Matrix &y) { Matrix res; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { __int128 sum = 0; // 防止溢出 (可选) for (int k = 0; k < 2; k++) { sum += (__int128)x。a[i][k] * y。a[k][j]; } res。a[i][j] = sum % mod; } } return res; } // 矩阵快速幂 Matrix power(Matrix base, long long exp) { Matrix res; // 初始化为单位矩阵 res。a[0][0] = res。a[1][1] = 1; while (exp > 0) { if (exp & 1) res = mul(res, base); base = mul(base, base); exp >>= 1; } return res; } // 求 Fibonacci(n) long long fibonacci(long long n) { if (n == 0) return 0; Matrix fib; fib。a[0][0] = 1; fib。a[0][1] = 1; fib。a[1][0] = 1; fib。a[1][1] = 0; Matrix res = power(fib, n - 1); // 注意为 n-1 return res。a[0][0]; // F(n) } int main() { long long n; cin >> n; cout << fibonacci(n); return 0; } //可过luogu P1962当然这个只是一种方法,还有另一种方法,不过需要我们观察一下。
A 2 k = ( A k ) 2 ⇒ [ F 2 k + 1 F 2 k F 2 k F 2 k − 1 ] = [ F k + 1 F k F k F k − 1 ] 2 = [ F k + 1 2 + F k 2 F k ( F k + 1 + F k − 1 ) F k ( F k + 1 + F k − 1 ) F k 2 + F k − 1 2 ] A^{2k}=(A^k)^2\,\Rightarrow \begin{bmatrix} F_{2k+1}& F_{2k}\\ F_{2k}&F_{2k-1} \end{bmatrix}=\begin{bmatrix} F_{k+1}& F_k\\F_k&F_{k-1} \end{bmatrix}^2= \begin{bmatrix} F_{k+1}^2+F_k^2 & F_k(F_{k+1}+F_{k-1}) \\ F_k(F_{k+1}+F_{k-1}) & F_k^2+F_{k-1}^2 \end{bmatrix} A2k=(Ak)2⇒[F2k+1F2kF2kF2k−1]=[Fk+1FkFkFk−1]2=[Fk+12+Fk2Fk(Fk+1+Fk−1)Fk(Fk+1+Fk−1)Fk2+Fk−12]。
对比左上角和右上角,发现以下公式:
F 2 k + 1 = F k + 1 2 + F k 2 F 2 k = F k ( F k + 1 + F k − 1 ) = F k ( 2 F k + 1 − F k ) F_{2k+1}=F^2_{k+1}+F_k^2\\ F_{2k}=F_k(F_{k+1}+F_{k-1})=F_k(2F_{k+1}-F_k) F2k+1=Fk+12+Fk2F2k=Fk(Fk+1+Fk−1)=Fk(2Fk+1−Fk)
不能发现, F n F_n Fn 都可以被 F ⌊ n / 2 ⌋ F_{\lfloor n/2 \rfloor} F⌊n/2⌋ 和 F ⌊ n / 2 ⌋ + 1 F_{\lfloor n/2\rfloor+1} F⌊n/2⌋+1 表示出来,那么就可以基于此进行二分操作,通过倍增的方式跳上去,时间复杂度也是 O ( log n ) \cal O(\log n) O(logn) 的。
#include <bits/stdc++。h> #define int64 long long using namespace std; long long mod=1e9+7; // 快速倍增法,返回 (F(n), F(n+1)) pair<int64,int64> fib_fast(int64 n) { if (n == 0) return {0, 1}; auto p = fib_fast(n >> 1); int64 a = p。first; // F(k) int64 b = p。second; // F(k+1) int64 c = ( (__int128)a * ((2 * b % mod - a + mod) % mod) ) % mod; // F(2k) int64 d = ( ((__int128)a * a) % mod + ((__int128)b * b) % mod ) % mod; // F(2k+1) if (n & 1) return {d, (c + d) % mod}; // (F(2k+1), F(2k+2)) else return {c, d}; // (F(2k), F(2k+1)) } long long fibonacci(long long n) { return fib_fast(n)。first; } int main() { long long n; cin >> n; cout << fibonacci(n); return 0; }
性质2:斐波那契数列在对 P P P 取模的时候,循环节是 O ( P ) \cal O(P) O(P) 级别的
这个其实和 P i s a n o \cal Pisano Pisano 周期有关。
P i s a n o \cal Pisano Pisano 周期的定义是:斐波那契数列在模 P P P 的意义下是一个周期序列,这个最小周期长度记作 π ( P ) \pi (P) π(P)。
Q 1 \cal Q1 Q1:为什么一定有循环节(任意模数 P P P)。
P r o o f Proof Proof:
把斐波那契递推写成线性变换,设
v n = ( F n F n + 1 ) , A = ( 0 1 1 1 ) \mathbf{v}_n=\binom{F_n}{F_{n+1}},\qquad A=\begin{pmatrix}0&1\\ 1&1\end{pmatrix} vn=(Fn+1Fn),A=(0111)。
则 v n + 1 = A v n \mathbf{v}_{n+1}=A\mathbf{v}_n vn+1=Avn(已经在性质 1 处详细已证明),从而
v n = A n v 0 , v 0 = ( F 0 F 1 ) = ( 0 1 ) \mathbf{v}_n=A^n\mathbf{v}_0,\quad \mathbf{v}_0=\binom{F_0}{F_1}=\binom{0}{1} vn=Anv0,v0=(F1F0)=(10)。
在模 P P P 的意义下,一切都在环 Z / P Z \mathbb Z/P\mathbb Z Z/PZ 中进行,注意 det A = − 1 \det A=-1 detA=−1。
对任意 P P P 都与 P P P 互素,因此 A A A 在模 P P P 下是可逆的(即 A ∈ G L 2 ( Z / P Z ) A\in \mathrm{GL}_2(\mathbb Z/P\mathbb Z) A∈GL2(Z/PZ))。
把态空间看成有限集合,有
Ω = { ( x , y ) ( m o d P ) } ( ∣ Ω ∣ = P 2 ) \Omega=\{(x,y)\pmod P\}\quad(|\Omega|=P^2) Ω={(x,y)(modP)}(∣Ω∣=P2)。
考虑映射 T : ( x , y ) ↦ ( y , x + y ) T:(x,y)\mapsto (y,x+y) T:(x,y)↦(y,x+y) 就是乘以矩阵 A A A。因为 A A A 可逆, T T T 是双射。对有限集合上的双射,从某个起点出发的轨道一定是一个纯循环(不可能有“引入段”),并且首次重访的状态必定是起点本身。我们从 v 0 = ( 0 , 1 ) \mathbf{v}_0=(0,1) v0=(0,1) 出发,因此存在最小正整数 π ( P ) \pi(P) π(P) 使
v π ( P ) = v 0 ⟺ ( F π ( P ) , F π ( P ) + 1 ) ≡ ( 0 , 1 ) ( m o d P ) \mathbf{v}_{\pi(P)}=\mathbf{v}_0 \quad\Longleftrightarrow\quad (F_{\pi(P)},F_{\pi(P)+1})\equiv(0,1)\pmod P vπ(P)=v0⟺(Fπ(P),Fπ(P)+1)≡(0,1)(modP),
这就是Pisano 周期,显然 π ( P ) ≤ P 2 \pi(P)\le P^2 π(P)≤P2。 □ \square □
一句话证明:周期存在,因为“状态双射 + 有限态空间 ⇒ \Rightarrow ⇒ 必回到起点”,且映射可逆由 det A = − 1 \det A=-1 detA=−1 保证。
但是没人觉得上面这个可以用剩余系证明吗?
P r o o f Proof Proof:
考虑设
s n ≡ ( F n , F n + 1 ) ( m o d P ) , n ≥ 0 \mathbf{s}_n \equiv (F_n,\;F_{n+1}) \pmod P,\qquad n\ge 0 sn≡(Fn,Fn+1)(modP),n≥0。
把每个分量都取自模 P P P 的完全剩余系 { 0 , 1 , … , P − 1 } \{0,1,\dots,P-1\} {0,1,…,P−1}。于是所有可能的状态组成集合
Ω = { 0 , 1 , … , P − 1 } × { 0 , 1 , … , P − 1 } \Omega=\{0,1,\dots,P-1\}\times\{0,1,\dots,P-1\} Ω={0,1,…,P−1}×{0,1,…,P−1},
其大小为 ∣ Ω ∣ = P 2 |\Omega|=P^2 ∣Ω∣=P2。
由斐波那契递推 F n + 2 = F n + 1 + F n F_{n+2}=F_{n+1}+F_n Fn+2=Fn+1+Fn 可定义确定性映射
T : Ω → Ω , T ( x , y ) = ( y , x + y ) ( m o d P ) T:\Omega\to\Omega,\qquad T(x,y)=(y,\;x+y)\ (\bmod P) T:Ω→Ω,T(x,y)=(y,x+y) (modP)。
于是 s n + 1 = T ( s n ) \mathbf{s}_{n+1}=T(\mathbf{s}_n) sn+1=T(sn)。
关键事实: T T T 是双射。确实,给定 ( x ′ , y ′ ) (x′,y′) (x′,y′),若 ( x , y ) (x,y) (x,y) 满足
T ( x , y ) = ( y , x + y ) ≡ ( x ′ , y ′ ) ( m o d P ) T(x,y)=(y,\;x+y)\equiv(x',y')\ (\bmod P) T(x,y)=(y,x+y)≡(x′,y′) (modP),
则从第二个式子得 x ≡ y ′ − y x \equiv y'-y x≡y′−y,代回第一个式子得 y ≡ x ′ y\equiv x' y≡x′。故唯一前驱为 ( x , y ) = ( y ′ − x ′ , x ′ ) (x,y)=(y'-x',\ x') (x,y)=(y′−x′, x′)。从而 T T T 既单又满。
因为 Ω \Omega Ω 有限且 T T T 是双射, Ω \Omega Ω 被分解为若干纯环路(每个点都在某个有限循环中),不存在“引入段”。起始状态为
s 0 = ( F 0 , F 1 ) = ( 0 , 1 ) \mathbf{s}_0=(F_0,F_1)=(0,1) s0=(F0,F1)=(0,1)。
故存在最小正整数 π ( P ) \pi(P) π(P) 使 s π ( P ) = s 0 ⟺ ( F π ( P ) , F π ( P ) + 1 ) ≡ ( 0 , 1 ) ( m o d P ) \mathbf{s}_{\pi(P)}=\mathbf{s}_0\quad\Longleftrightarrow\quad (F_{\pi(P)},F_{\pi(P)+1})\equiv(0,1)\pmod P sπ(P)=s0⟺(Fπ(P),Fπ(P)+1)≡(0,1)(modP),
这个不就是上面的那个式子吗?由于轨道位于大小为 P 2 P^2 P2 的集合中,必在至多 P 2 P^2 P2 步内回到起点,故 π ( P ) ≤ P 2 \pi(P)\le P^2 π(P)≤P2。证毕。。 □ \square □
怎么感觉两个证明起来差不多呢?(dogeQ 2 \cal Q2 Q2:为什么素数模数 p p p 下: π ( p ) \pi(p) π(p) 整除 p − 1 p-1 p−1 或 2 ( p + 1 ) 2(p+1) 2(p+1)
P r o o f Proof Proof:
接下来我们默认 p p p 为素数。把模 p p p 的世界当作域 F p \mathbb F_p Fp。
还有一个常用伴随矩阵
Q = ( 1 1 1 0 ) , ( F n + 1 F n ) = Q n ( 1 0 ) Q=\begin{pmatrix}1&1\\ 1&0\end{pmatrix},\qquad \binom{F_{n+1}}{F_n}=Q^n\binom{1}{0} Q=(1110),(FnFn+1)=Qn(01),
它与上面的 A A A 相似,结论等价,我们用 Q Q Q 便于与特征多项式对应。
F i r s t First First 考虑与周期的关系:
若 Q m = I Q^m=I Qm=I 于 F p \mathbb F_p Fp,则对任意初始向量都周期 m 回到原点,特别地 π ( p ) ∣ m \pi(p)\mid m π(p)∣m。因此
π ( p ) ∣ ord ( Q ) ( Q 在 G L 2 ( F p ) 中的阶 ) 。 \pi(p)\ \big|\ \operatorname{ord}(Q)\quad(\text{\(Q\) 在 }\mathrm{GL}_2(\mathbb F_p)\text{中的阶})。 π(p) ord(Q)(Q 在 GL2(Fp)中的阶)。
于是只需估计 ord ( Q ) \operatorname{ord}(Q) ord(Q)。
S e c o n d Second Second 特征多项式与两个情形:
Q Q Q 的特征多项式是
χ ( x ) = x 2 − x − 1 , Δ = 1 + 4 = 5 \chi(x)=x^2-x-1, \qquad \Delta = 1+4 = 5 χ(x)=x2−x−1,Δ=1+4=5。
分两类(除去特例 p = 5 p=5 p=5 使得 Δ ≡ 0 \Delta\equiv0 Δ≡0):
情形 A:5 是二次剩余 ( ( 5 p ) = + 1 \left(\frac{5}{p}\right)=+1 (p5)=+1,等价于 p ≡ ± 1 ( m o d 5 ) p\equiv\pm1\pmod 5 p≡±1(mod5))。
此时 χ \chi χ 在 F p \mathbb F_p Fp 可分解,存在
α = 1 + 5 2 , β = 1 − 5 2 ∈ F p \alpha=\tfrac{1+\sqrt 5}{2},\quad \beta=\tfrac{1-\sqrt 5}{2}\in\mathbb F_p α=21+5,β=21−5∈Fp,
且 Q Q Q 在 F p \mathbb F_p Fp 上可对角化: Q = S diag ( α , β ) S − 1 Q=S\operatorname{diag}(\alpha,\beta)S^{-1} Q=Sdiag(α,β)S−1。
于是ord ( Q ) = l c m ( ord ( α ) , ord ( β ) ) \operatorname{ord}(Q)=\mathrm{lcm}\big(\operatorname{ord}(\alpha),\operatorname{ord}(\beta)\big) ord(Q)=lcm(ord(α),ord(β))。
但 α , β ∈ F p × \alpha,\beta\in\mathbb F_p^\times α,β∈Fp×,而 F p × \mathbb F_p^\times Fp× 是循环群,阶为 p − 1 p-1 p−1。所以
ord ( α ) ∣ ( p − 1 ) , ord ( β ) ∣ ( p − 1 ) ⇒ ord ( Q ) ∣ ( p − 1 ) \operatorname{ord}(\alpha)\mid (p-1),\quad \operatorname{ord}(\beta)\mid (p-1)\ \Rightarrow\ \operatorname{ord}(Q)\mid (p-1) ord(α)∣(p−1),ord(β)∣(p−1) ⇒ ord(Q)∣(p−1)。
从而
π ( p ) ∣ ( p − 1 ) ( p ≡ ± 1 m o d 5 ) \boxed{\ \pi(p)\mid (p-1)\ }\qquad(p\equiv\pm1\bmod 5) π(p)∣(p−1) (p≡±1mod5)。
情形 B:5 是二次非剩余( ( 5 p ) = − 1 \left(\frac{5}{p}\right)=-1 (p5)=−1,等价于 p ≡ ± 2 ( m o d 5 ) p\equiv\pm2\pmod 5 p≡±2(mod5))
此时 χ \chi χ 在 F p \mathbb F_p Fp 不可约,但在扩域 F p 2 \mathbb F_{p^2} Fp2 上分解,并且两根互为弗罗贝尼乌斯共轭:
α , β ∈ F p 2 , β = α p \alpha,\beta\in\mathbb F_{p^2},\quad \beta=\alpha^p α,β∈Fp2,β=αp。
由 α β = − 1 \alpha\beta=-1 αβ=−1(常数项)知
N o r m F p 2 / F p ( α ) = α p + 1 = α β = − 1 \mathrm{Norm}_{\mathbb F_{p^2}/\mathbb F_p}(\alpha)=\alpha^{p+1}=\alpha\beta=-1 NormFp2/Fp(α)=αp+1=αβ=−1。
因此
α p + 1 = − 1 ⇒ α 2 ( p + 1 ) = 1 \alpha^{p+1}=-1\quad\Rightarrow\quad \alpha^{2(p+1)}=1 αp+1=−1⇒α2(p+1)=1。
于是 ord ( α ) ∣ 2 ( p + 1 ) \operatorname{ord}(\alpha)\mid 2(p+1) ord(α)∣2(p+1)。再注意 β = − α − 1 \beta=-\alpha^{-1} β=−α−1,
ord ( β ) = { ord ( α ) , ord ( α ) 为偶数 ; 2 ord ( α ) , 为奇数。 \operatorname{ord}(\beta)= \begin{cases} \operatorname{ord}(\alpha), & \operatorname{ord}(\alpha)\ \text{为偶数};\\ 2\,\operatorname{ord}(\alpha), & \text{为奇数}。 \end{cases} ord(β)={ord(α),2ord(α),ord(α) 为偶数;为奇数。
而上式 α p + 1 = − 1 \alpha^{p+1}=-1 αp+1=−1 直接说明 − 1 ∈ ⟨ α ⟩ -1\in\langle\alpha\rangle −1∈⟨α⟩,故 ord ( α ) \operatorname{ord}(\alpha) ord(α) 一定是偶数,于是 ord ( β ) = ord ( α ) \operatorname{ord}(\beta)=\operatorname{ord}(\alpha) ord(β)=ord(α)。
对角化后ord ( Q ) = l c m ( ord ( α ) , ord ( β ) ) = ord ( α ) ∣ 2 ( p + 1 ) \operatorname{ord}(Q)=\mathrm{lcm}\big(\operatorname{ord}(\alpha),\operatorname{ord}(\beta)\big)=\operatorname{ord}(\alpha)\mid 2(p+1) ord(Q)=lcm(ord(α),ord(β))=ord(α)∣2(p+1)。
从而
π ( p ) ∣ 2 ( p + 1 ) ( p ≡ ± 2 m o d 5 ) \boxed{\ \pi(p)\mid 2(p+1)\ }\qquad(p\equiv\pm2\bmod 5) π(p)∣2(p+1) (p≡±2mod5)。
T h i r d Third Third 特殊小素数:
p = 2 p=2 p=2:直接算得 π ( 2 ) = 3 \pi(2)=3 π(2)=3,而 2 ( p + 1 ) = 6 2(p+1)=6 2(p+1)=6,确有 π ( 2 ) ∣ 6 \pi(2)\mid 6 π(2)∣6。
p = 5 p=5 p=5: χ ( x ) \chi(x) χ(x) 判别式为 0 0 0, x 2 − x − 1 ≡ ( x − 3 ) 2 x^2-x-1\equiv (x-3)^2 x2−x−1≡(x−3)2;此时 Q Q Q 的 J o r d a n Jordan Jordan 形导致 π ( 5 ) = 20 \pi(5)=20 π(5)=20(经典结果),它不整除 p − 1 = 4 p-1=4 p−1=4 或 2 ( p + 1 ) = 12 2(p+1)=12 2(p+1)=12,因此需要单独例外处理。
E n d End End 小结(素数模)
对所有素数 p ≠ 5 p\neq 5 p=5:
π ( p ) ∣ { p − 1 , p ≡ ± 1 ( m o d 5 ) ( 判别式可分解 ) ; 2 ( p + 1 ) , p ≡ ± 2 ( m o d 5 ) ( 判别式不可约 ) 。 \boxed{\ \pi(p)\ \Bigg|\ \begin{cases} p-1,& p\equiv\pm1\pmod 5\quad(\text{判别式可分解});\\ 2(p+1),& p\equiv\pm2\pmod 5\quad(\text{判别式不可约})。 \end{cases}} π(p) {p−1,2(p+1),p≡±1(mod5)(判别式可分解);p≡±2(mod5)(判别式不可约)。
再加上特例 π ( 2 ) = 3 \pi(2)=3 π(2)=3、 π ( 5 ) = 20 \pi(5)=20 π(5)=20。这样就有完整的证明过程了。
延伸:合数模 P 下有 π ( P ) = l c m ( π ( p 1 k 1 ) , … ) \pi(P)=\mathrm{lcm}\big(\pi(p_1^{k_1}),\dots\big) π(P)=lcm(π(p1k1),…)(互素分解后取最小公倍数),且 π ( p k ) ∣ p k − 1 π ( p ) \pi(p^k)\mid p^{k-1}\pi(p) π(pk)∣pk−1π(p)。因此总体上 π ( P ) = O ( P ) \pi(P)=O(P) π(P)=O(P)。


1749

被折叠的 条评论
为什么被折叠?



