「具体数学」四:数论

上一章先鸽子,全是天书

整除性

\[m|n \Rightarrow n=mk \]

两个数的最大公因子是能整除它们两者的最大整数

\[gcd(n,m)=max\{k,k|m且k|n\} \]

定义

\[gcd(0,n)=n \]

最小公倍数

\[lcm(n,m)=min\{k,m|k且n|k\}=\frac{n*m}{gcd(n,m)} \]

如果\(n\leq 0\)\(m\leq 0\) 那么它没有定义

欧几里得算法:

\[gcd(0,n)=n\\ gcd(n,m)=gcd(n\ mod\ m,m),m>0 \]

证明式二:

\[只要证gcd(n,m)=gcd(n-m,m)\\ 设gcd(n,m)=g\\ n=p*g\\ m=q*g\\ n-m=(p-q)*g\\ 若gcd(q,p-q)=c\\ 则q=k_1*c,p-q=k_2*c,p=(k_1+k_2)*c\\ 因为gcd(p,q)=1\\ 所以c=1 \]

推广,用它来计算满足

\[ax+by=gcd(x,y) \]

的做法是,如果\(x=0\),就直接取\(a=0,b=1\),否则就令\(z=x\ mod\ y\),并用\(z\)\(y\)替换\(x\)\(y\)再次应用

\[by+cz=gcd(y,z) \]

由于\(z=x-\lfloor\frac{x}{y}\rfloor y\)\(gcd(y,z)=gcd(x,y)\),所以

\[by+c(x-\lfloor\frac{x}{y}\rfloor y)=gcd(x,y)\\ (b-\lfloor\frac{x}{y}\rfloor)y+cx=gcd(x,y)\\ a=b-\lfloor\frac{x}{y}\rfloor y,b=c \]

小定理:

\[k|m,k|n\Leftrightarrow k|gcd(n,m)\\ \sum_{m|n}a_m=\sum_{m|n}a_{\frac{n}{m}}=\sum_{k}\sum_{m>0}a_m[n=mk] \]

二重和式

\[\sum_{m|n}\sum_{k|m}a_{k,m}=\sum_{k|n}\sum_{l|(\frac{n}{k})}a_{k,kl} \]

素数

任何正整数\(n\)都可以表示成素数的乘积

\[n=p_1…p_m=\sum_{i=1}^{k}p_k\ ,\ p_1\leq p_2\leq …\leq p_m \]

次展开式是唯一的,仅有一种方式将\(n\)按照素数非减的次序写成素数的乘积,这个命题称为算术基本定理

证明略了

素数的例子

素数无限定理:

假设有\(k\)个素数,则\(M=p_1*p_2*…*p_k+1\)是素数

定义欧几里得数

\[e_k=e_1…e_{k-1}+1\\ gcd(e_n,e_m)=1\\ \]

用欧几里得算法易证,因为

\[e_n\ mod\ e_m=1\\ gcd(e_n,e_m)=gcd(1,e_m)=gcd(1,0)=1 \]

尝试将欧几里得数写成封闭形式,如果\(n>1\)

\[e_n=e_1…e_{n-2}*e_{n-1}+1=(e_{n-1}-1)e_{n-1}+1=e_{n-1}^2-e_{n-1}+1 \]

后面会证明,存在常数\(E≈1.264\),使得

\[e_n=\lfloor E^{2^n}+\frac{1}{2}\rfloor \]

而只包含素数也有类似公式

\[p_n=\lfloor P^{3^{n}}\rfloor \]

实际上它们不能称为封闭形式,因为常数\(E\)\(P\)的来源不明

形如\(2^p-1\)的数称为梅森数

如果\(n\)是合数,则数\(2^{n}-1\)不可能是素数,因为\(2^{km}-1\)\(2^m-1\)作为一个因子

\[2^{km}-1=(2^{m}-1)(2^{m(k-1)}+2^{m(k-2)}+…+1) \]

但当\(p\)是素数时,\(2^p-1\)并不都是素数

\[P_n\sim nln(n)\\ \pi(x)\sim \frac{x}{ln(x)} \]

\(\sim\)是渐进于,\(\pi(x)\)\(x\)以内素数个数

\[ln(x)-\frac{3}{2}<\frac{x}{\pi(x)}<lnx-\frac{1}{2},x\geq67\\ n(ln(n)+lnln(n)-\frac{3}{2})<P_n<n(ln(n)+lnln(n)-\frac{1}{2}),x\geq 20 \]

观察一个随机整数\(n\),它是素数的机会大约是\(\frac{1}{n}\)

但素数分布不具有规律性,如孪生素数\(p\)\(p+2\)的例子

阶乘的因子

\[n!=1*2*…*n=\prod_{k=1}^{n}k,整数n\geq 0 \]

利用第一章高斯的技巧,可以证明\(n!\)非常大

\[n!^2=(1*2*…*n)(n*…*2*1)=\prod_{k=1}^{n}k(n-k+1) \]

我们有\(n\leq k(n+1-k)\leq \frac{1}{4}(n+1)^2\)

由于二次多项式\(k(n+1-k)=\frac{1}{4}(n+1)^2-(k-\frac{1}{2}(n+1))^2\)\(k=1\)以及\(k=n\)时取最小值,在\(k=\frac{1}{2}(n+1)\)时取最大值,于是

\[\prod_{k=1}^{n}n!\leq n!^2\leq \prod_{k=1}^{n}\frac{(n+1)^2}{4} \]

开方

\[n^{\frac{n}{2}}\leq n!\leq \frac{(n+1)^n}{2^n} \]

阶乘以指数增长

有斯特林公式

\[n!\sim \sqrt{2\pi n}(\frac{n}{e})^n \]

渐进误差约为\(\frac{1}{12n}\)

另一个问题:求能整除\(n!\)\(p\)最大幂次,如\(p=2\)

\[\varepsilon_2(n!)=\lfloor\frac{n}{2}\rfloor+\lfloor\frac{n}{4}\rfloor+…=\sum_{k\geq 1}\lfloor\frac{n}{2^k}\rfloor \]

例如

\[\varepsilon_2(100!)=50+25+12+6+3+1 \]

每一项都是前一项的\(\lfloor\frac{1}{2}\rfloor\),从二进制很好看出规律

\[(1100100)_2=100\\ (110010)_2=50\\ (11001)_2=25\\ (1100)_2=12\\ (110)_2=6\\ (11)_2=3\\ (1)_2=1 \]

也表示出了另外的规律

\[\varepsilon_2(n!)=n-v_2(n) \]

其中\(v_2(n)\)表示\(n\)的二进制中\(1\)的个数
推广到任意的素数\(p\)

\[\varepsilon_p(n!)=\lfloor\frac{n}{p}\rfloor+\lfloor\frac{n}{p^2}\rfloor+…=\sum_{k\geq 1}\lfloor\frac{n}{p^k}\rfloor \]

\(\varepsilon_p(n!)\)有多大?在求和中直接去掉低,然后对无穷级数求和估计上界

\[\varepsilon_p(n!)<\frac{n}{p}+\frac{n}{p^2}+…\\ =\frac{n}{p}(1+\frac{1}{p}+…)\\ =\frac{n}{p}(\frac{p}{p-1})\\ \frac{n}{p-1} \]

\(\varepsilon_p(n!)\)的界反过来会给出一个关于\(p^{\varepsilon_p(n!)}\)的界

\[p^{\varepsilon_p(n!)}<p^{\frac{n}{p-1}} \]

因为\(p\leq 2^{p-1}\) ,我们可以放宽上界化简

\[p^{\frac{n}{p-1}}\leq (2^{p-1})^{\frac{n}{p-1}}=2^n \]

得到结论,任何素数对\(n!\)的贡献都小于\(2^n\)

利用这个,我们可以得到另一个素数无限定理的证明:

如果只要\(k\)个素数,那么对所有\(n>1\)就会有\(n!<(2^n)^k=2^{nk}\),因为每一个素数最多贡献一个因子\(2^{n}-1\),但是又足够大的\(n\)使\(n!<2^{nk}\)矛盾

甚至能对这一证明方法加强得到\(\pi(n)\)的一个粗略的界,每一个这样的素数都对\(n!\)贡献一个小于\(2^n\)的因子,所以与前相同有

\[n!<2^{n\pi(n)} \]

用斯特林近似代替\(n!\),并取对数

\[n\pi(n)>nlg(\frac{n}{e})+\frac{1}{2}lg(2\pi n) \]

\(\pi(n)\sim \frac{n}{lnn}\)相比,这个下界很弱

互素

\(gcd(n,m)=1\)时,整数\(m\)\(n\)没有公共的素因子,我们就称它们是互素的,记作\(n⊥m\)

\[\frac{m}{gcd(n,m)}⊥\frac{n}{gcd(n,m)} \]

可以用\(gcd(kn,km)=k*gcd(n,m)\)得到

有一种方法构造满足\(m⊥n\)的全部非负分数\(\frac{m}{n}\)组成的集合,它称为\(Stern-Brocot\)树,思想是从两个分数\((\frac{0}{1},\frac{1}{0})\)出发,然后依次重复:

在两个相邻的分数\(\frac{m}{n}\)\(\frac{m'}{n'}\)之间插入\(\frac{m+m'}{n+n'}\),新的分数称为\(\frac{m}{n}\)\(\frac{m'}{n'}\)的中位分数

img

为什么每一个出现在树中的分数都是最简分数?为什么所有可能的分数\(\frac{m}{n}\)都刚好出现一次?

如果\(\frac{m}{n}\)\(\frac{m'}{n'}\)是这个构造中任何一个阶段的相邻分数,我们就有

\[m'n-mn'=1 \]

这个关系开始时正确:

\(1*1-0*0=1\)

当新插入一个中位分数时,需要检验

\[(m+m')n-m(n+n')=1\\ m'(n+n')-(m+m')n'=1 \]

易证这两个等于都等价于它们替换的原始条件

由此证明了\(\frac{m+m'}{n+n'}\)是最简的

posted @ 2023-02-28 15:23  lovelyred  阅读(55)  评论(0编辑  收藏  举报