定积分放缩法
若对于一个初等函数 (f(x)) 在闭区间 (I) 上单调、连续、可导
则对于满足 (a_n=f(n)) 的数列 ({a_n}) ,和满足 ([l-1,r+1]subset I) 的区间 ([l,r]) ,有:
若 (f(x)) 单调不减时:(displaystyle int_{l-1}^rf(x) ext dxleqsum_{i=l}^ra_ileqint_l^{r+1}f(x) ext dx)
若 (f(x)) 单调不增时:(displaystyle int_{l-1}^rf(x) ext dxgeqsum_{i=l}^ra_igeqint_l^{r+1}f(x) ext dx)
证明:
当 (f(x)) 单调不减时:
(displaystyle int_{l-1}^rf(x) ext dx=sum_{i=l}^r(int_{i-1}^if(x) ext dx)leqsum_{i=l}^r(int_{i-1}^if(i) ext dx)=sum_{i=l}^rf(i)=sum_{i=l}^ra_i)
(displaystyle int_l^{r+1}f(x) ext dx=sum_{i=l}^r(int_i^{i+1}f(x) ext dx)geqsum_{i=l}^r(int_i^{i+1}f(i) ext dx)=sum_{i=l}^rf(i)=sum_{i=l}^ra_i)
因此 (displaystyle int_{l-1}^rf(x) ext dxleqsum_{i=l}^ra_ileqint_l^{r+1}f(x) ext dx)
同理可证 (f(x)) 单调不增时 (displaystyle int_{l-1}^rf(x) ext dxgeqsum_{i=l}^ra_igeqint_l^{r+1}f(x) ext dx)
特别的,当 (displaystyle int_{l-1}^lf(x) ext dx,int_r^{r+1}f(x) ext dx) 相比于 (displaystyle int_l^rf(x) ext dx) 为常数时
可以近似地认为 (displaystyle sum_{i=l}^ra_i=int_l^rf(x) ext dx+C,C) 为常数
素数定理
函数 (pi(n)) 表示 (n) 及 (n) 以内的质数个数
由质数定理得到,(pi(n)) ~ (Li(n)) ~ ({nover ln n})
其中 (Li(n)) 是对数积分 (displaystyle Li(x)=int_2^x{ ext dtover ln t})
因此, (n) 以内的质数个数大概是 ({nover ln n}) ,密度大概是 ({({nover ln n})over n}={1over ln n})
因此,第 (i) 个质数的大小大概是 (iln i)
最小质因数的分布概率
考虑第 (m) 个质数 (p_m) ,以它为最小质因数的的正整数,分布的概率,大概为 (displaystyle P(fc=p_m)={1over p_m}prod_{i=1}^{m-1}(1-{1over p_i}))
证明:考虑 (displaystyle prod_m=prod_{i=1}^{m-1}p_i)
首先,对于所有 (forall nin Z_+)
当 (m=1) 时,(prod_m=1) ,有 ({1over 2}) 的概率最小质因数为 (p_1=2)
假设 (mleq k) 以内都成立,则剩余的数的概率为
(displaystyle P(fc>p_m))
(displaystyle =1-sum_{i=1}^kP(fc=p_i))
(displaystyle =1-sum_{i=1}^k({1over p_i}prod_{j=1}^{i-1}(1-{1over p_j}) ))
(displaystyle =1-{1over p_1}-sum_{i=2}^k({1over p_i}prod_{j=1}^{i-1}(1-{1over p_j}) ))
(displaystyle =(1-{1over p_1})(1-sum_{i=2}^k({1over p_i}prod_{j=2}^{i-1}(1-{1over p_j}) ) ))
(=dots)
(displaystyle =prod_{i=1}^k(1-{1over p_i}))
而对于剩下的数,一定可以写为 (n=rcdot prod_{k+1}+t,rin Z,tin Z_+) 且 (gcd(t,prod_{k+1})=1) 的形式
因此, (t) 的取值一共有 (displaystyle oldsymbol varphi(prod_{k+1})=prod_{i=1}^koldsymbol varphi(p_i)=prod_{i=1}^k(1-{1over p_i})) 个
即, (t) 取满 (prod_{k+1}) 的简化剩余类
设 (r=p_{k+1}cdot a+b,a,bin Z) 且 (b<p_{k+1})
代入得到 (n=(p_{k+1}cdot a+b)cdot prod_{k+1}+t=acdot p_{k+1}cdot prod_{k+1}+(bcdot prod_{k+1}+t))
因此 (nequiv bcdot prod_{k+1}+t(mod p_{k+1}))
要使得 (fc_n=p_{k+1}) 则只需要 (p_{k+1}mid n) 即 (bcdot prod_{k+1}+tequiv nequiv 0(mod p_{k+1}))
由于 (forall ileq k,gcd(p_i,p_{k+1})=1) 因此 (gcd(prod_{k+1},p_{k+1})=1)
设 (cequiv prod_{k+1}(mod p_{k+1}),0<c<p_{k+1}) 且 ([c]) 为 (p_{k+1}) 的简化剩余类之一
因此,要使 (fc_n=p_{k+1}) 则需要 (bc+tequiv 0(mod p_{k+1})) 成立
设 (0<q<prod_{k+1}) 为 (t) 在模 (prod_{k+1}) 的负元,则 (bcequiv q(mod p_{k+1}))
由于 (c) 为 (p^{k+1}) 的简化剩余类之一,因此存在逆元,方程两边乘上逆元得到
(bequiv qc^{-1}(mod p_{k+1}))
因此,对于任意的 (q) 都存在唯一的一个 (b) 使得上述方程成立 ((0leq b<p_{k+1}))
所以 (bc+tequiv 0(mod p_{k+1})) 对每个 (t) ,有唯一解
即对 (prod_{k+1}) 的每个简化剩余类 (t) ,(p_{k+1}mid (acdot p_{k+1}cdot prod_{k+1}+bcdot prod_{k+1}+t)) 有唯一解
故对 (prod_{k+1}) 的每个简化剩余类 (t) ,(n=(p_{k+1}cdot a+b)cdot prod_{k+1}+t,fc_n=p_{k+1}) 都有唯一解
设事件 (A) 为 (fc_n=p_{k+1}) ,事件 (B) 为 (fc_n>p_k)
则 (displaystyle P(Amid B)={1over oldsymbol varphi(prod_{k+1})}sum_{t=1}^{oldsymbol varphi(prod_{k+1})}{1over p_{k+1}}={1over p_{k+1}})
故由条件概率公式得到 (displaystyle P(fc=p_{k+1})=P(A)=P(AB)=P(B)cdot P(Amid B)={1over p_{k+1}}prod_{i=1}^k(1-{1over p_i}))
所以 (mleq k) 成立即可推出 (m=k+1) 成立
最后由归纳法得,最小质因数的分布概率成立
判素数的期望复杂度
很显然,判定 (n) 是否为素数的最坏复杂度即是当 (n) 为素数时,复杂度为 (O(sqrt n))
但判素数的期望复杂度显然比这小
首先由质数密度得到 (P(nin Prime)approx {1over ln n})
故质数对期望的贡献为 (sqrt ncdot P(nin Prime)approx {sqrt nover ln n})
接下来考虑合数对期望的贡献显然为:
(displaystyle sum_{p_ileq sqrt n}p_icdot P(fc_n=p_i))
(displaystyle approxsum_{i=1}^{sqrt nover ln sqrt n}p_i cdot {1over p_i}cdot P(fc_n>p_{i-1}))
(displaystyle =sum_{i=1}^{2sqrt nover ln n}prod_{j=1}^{i-1}(1-{1over p_j}))
(displaystyle leqsum_{i=1}^{2sqrt nover ln n}prod_{j=1}^{i-1}(1-0))
(displaystyle =sum_{i=1}^{2sqrt nover ln n}1)
(displaystyle ={2sqrt nover ln n})
因此,期望复杂度 (T(n)leq {sqrt nover ln n}+{2sqrt nover ln n}={3sqrt nover ln})
因此判素数的期望复杂度为 (O({sqrt nover log n}))
朴素筛法的复杂度证明
复杂度为上述期望复杂度的求和
(displaystyle T(n)=sum_{i=1}^n{sqrt nover ln n})
与 (displaystyle int_2^n{sqrt tover ln t} ext dt) 同阶
因此 (T(n)=displaystyle int_2^n{sqrt tover ln t} ext dt=int_2^n{ ext dt^{3over 2}overln t^{3over 2}}=Li(n^{3over 2}))~(n^{3over 2}over ln n^{3over 2})
故复杂度为 (O({nsqrt nover log n}))
或记为 (O({n^{3over 2}over log n}))
常数大概为 (2)
埃氏筛复杂度证明
每个数都把它的倍数打上了标记
因此 (displaystyle T(n)=sum_{p_ileq n}lfloor{nover p_i} floorapproxsum_{i=1}^{nover ln n}{nover p_i}approx nsum_{i=1}^{nover ln n}{1over iln i})
故 (displaystyle T(n)=nint_2^{nover ln n}{1over tln t} ext dt=n(ln ln t)|^{noverln n}_2=n(lnln n-lnlnln n+C))
所以复杂度为 (O(nlog log n))
埃氏筛优化复杂度证明
(displaystyle T(n)=sum_{p_ileq sqrt n}lfloor{n-p^2over p} floorapprox nsum_{i=2}^{sqrt nover lnsqrt n}{1over iln i}-sum_{i=1}^{sqrt noverlnsqrt n}iln i)
(displaystyle sum_{i=2}^{sqrt nover lnsqrt n}{1over iln i})~(displaystyle int_2^{sqrt nover lnsqrt n}{1over tln t} ext dt=(lnln t)|^{sqrt nover lnsqrt n}_2=lnlnsqrt n-lnlnlnsqrt n+C)
故前半部分复杂度为 (O(nloglog n))
后半部分 (displaystyle sum_{i=1}^{sqrt noverlnsqrt n}iln i)~(displaystyle int_2^{sqrt noverlnsqrt n}tln t ext dt=({1over 2}x^2ln x-{1over 4}x^2)|^{sqrt noverlnsqrt n}_2)
代入计算得 ({1over 4}cdot{nover (ln sqrt n)^2}(ln({sqrt nover ln sqrt n})-2)+C={nover ln^2n}cdot ({2sqrt nover ln n}-2)+C)
因此复杂度是 (o(nloglog n))
最后,总复杂度是 (O(nloglog n)) 但常数更优