本文是《
浅谈数学在信息学中的应用》的一些附带证明几一些说明
特例: m=2
记f(n)=k,表示n个人中最后那个人的标号为k.试想如果圈中只有2个人,那么f(2)=1;如果是4个人,第一轮去掉2个,那么又变成了2个人,所以f(4)=1.同理,f(8)=1,….f(2^k)=1.其实这个结论也可这样理解:
假设有2^k个人
第一轮:去掉[2^k/2]=2^(k-1)人,剩下2^(k-1)人;
第二轮:去掉2^(k-2)人,剩下2^(k-2)人;
第三轮:剩下2^(k-3);
……
第k轮:剩下2^(k-k)=1人。
所以, f(2^k)=1.
但n=2^k局限性太大了,我们考虑如何扩展到n为任意正整数的情况。首先得明确一个事实,自然数 n=2^k+q.那么我们可以这样理解:初始圈经过有限次的报数,一定存在某个时刻剩余人数为2^k。那么问题又转化到n=2^k的情况了。
我们来举个实例,n=5=2^2+1,m=2
经过简单演算可知f(5)=3.
初始圈中第一个退出的编号应为2q,如左上图所示,也就是说这轮1~m的循环结束了。此时整个圈会做变动,但实际上就是将编号2q+1定为新圈的1号,而现在剩下的人数已只有2^k了,已知f(2^k)=1.这里的1号指的恰是初始圈的2q+1.所以f(n)=f(2^k+q)=2q+1.
关于正整数拆分定理的证明
证明:
不妨设这些整数为x1,x2,x3,.....,xn.则xi>1
且x1+x2+...+xn=N.设m=max(x1*x2*...*xn)
我们首先论证当(x1*x2*..*xn)取到最大时,一定不存在xi且xi>=4
如果存在xi>=4,将xi换成(xi-2)+2.
但2*(xi-2)=xi+(xi-4)>=xi
因此乘积x1*x2*...*xn会变大
故xi=2或3
所以m=2^p*3^q
又2+2+2=3+3,2*2*2<3*3
因此当x1*x2*...*xn取到最大时,不可能有多了2个的2.
综上所述,原命题成立。
欧拉函数
欧拉函数是数论中很重要的一个函数,欧拉函数是指:对于一个正整数n,小于n且和n互质的正整数的个数,记做:φ(n),其中φ(1)被定义为1,但是并没有任何实质的意义。
定义小于n且和n互质的数构成的集合为Zn,称呼这个集合为n的完全余数集合。
显然,对于素数p,φ(p)=p-1.对于两个素数p、q,他们的乘积n= pq 满足φ(n)=(p-1)(q-1)
证明:
对于质数p,q,满足φ(n) =(p-1)(q-1)
考虑n的完全余数集Zn = { 1,2,....,pq -1}
而不和n互质的集合由下面三个集合的并构成:
1) 能够被p整除的集合{p,2p,3p,....,(q-1)p} 共计q-1个
2) 能够被q整除的集合{q,2q,3q,....,(p-1)q} 共计p-1个
3) {0}
很显然,1、2集合中没有共同的元素,因此Zn中元素个数=pq-(p-1+q-1+1)=(p-1)(q-1)
欧拉定理
对于互质的整数a和n,有aφ(n) ≡ 1 mod n
证明:
首先证明下面这个命题:
对于集合Zn={x1,x2,...,xφ(n)},考虑集合
S = {ax1 mod n,ax2mod n,...,axφ(n)mod n}
则S=Zn
1) 由于a,n互质,xi也与n互质,则axi也一定于p互质,因此
任意xi,axi mod n 必然是Zn的一个元素
2) 对于Zn中两个元素xi和xj,如果xi≠xj
则axi mod n ≠ axi mod n,这个由a、p互质和消去律可以得出。
所以,很明显,S=Zn
既然这样,那么
(ax1 × ax2×...×axφ(n))mod n
= (ax1 mod n × ax2mod n × ... × axφ(n)mod n)mod n
= (x1 × x2 × ... × xφ(n))mod n
考虑上面等式左边和右边
左边等于(aφ(n) × (x1 × x2 × ... × xφ(n))mod n) mod n
右边等于x1 × x2 × ... × xφ(n))mod n
而x1 × x2 × ... × xφ(n))mod n和p互质
根据消去律,可以从等式两边约去,就得到:
aφ(n) ≡ 1 mod n
推论:对于互质的数a、n,满足aφ(n)+1 ≡ a mod n
欧几里德算法
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:
定理:gcd(a,b) = gcd(b,a mod b)
证明:a可以表示成a=kb+r,则r=a mod b
假设d是a,b的一个公约数,则有
d|a, d|b,而r=a-kb,因此d|r
因此d是(b,a mod b)的公约数
假设d 是(b,a mod b)的公约数,则
d | b , d |r ,但是a=kb+r
因此d也是(a,b)的公约数
因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证。
1,a,b,c是整数,证明ax+by=c在整数范围内有解的充要条件是(a,b)整除c
证明:
设(a,b)=d
1)充分性:因为d=(a,b),所以存在x0,y0∈Z使ax0+by0=d,又d│c,所以c=dk
=k(ax0+by0)=a(kx0)+b(ky0),所以方程ax+by=c有整数解(kx0,ky0)
2)必要性:因为ax0+by0=c,x0,y0∈Z
d是a,b的最大公约数,所以d│a,d│b,故d│ax0+by0,即d│c
2,不定方程ax+by=c,(a,b)=1,若(x0,y0)是一组解,则所有解可表成:
x=x0+bt
y=y0-at,(t是整数)
证明:
为表示方便,设x1=x0+bt,y1=y0-at是任一组解
一方面,把x1,x2表达式代入ax+by=a(x0+bt)+b(y0-at)
=ax0+abt+by0-abt=ax0+by0=c
所以(x1,y1)确是ax+by=c的解,且(x1,y1)=(x0,y0)只要取t=0即可
另一方面,设ax+by=c有另一组解(x1,y1),则有方程组
ax0+by0=c①
ax1+by1=c②
①-②得a(x1-x0)=b(y0-y1)
根据整除性质,显然有a│b(y0-y1),b│a(x1-x0)
但(a,b)=1故有a│y0-y1,b│x1-x0
不妨设x1-x0=bt1,y0-y1=at2(t1,t2∈Z),则x1=x0+bt1,y1=y0-at2,
代入②得a(x0+bt1)+b(y0-at2)=c+ab(t1-t2)=c
故ab(t1-t2)=0,所以t1=t2
设t1=t2=t,则通解为x=x0+bt,y=y0-at
证毕!
特例: m=2
记f(n)=k,表示n个人中最后那个人的标号为k.试想如果圈中只有2个人,那么f(2)=1;如果是4个人,第一轮去掉2个,那么又变成了2个人,所以f(4)=1.同理,f(8)=1,….f(2^k)=1.其实这个结论也可这样理解:
假设有2^k个人
第一轮:去掉[2^k/2]=2^(k-1)人,剩下2^(k-1)人;
第二轮:去掉2^(k-2)人,剩下2^(k-2)人;
第三轮:剩下2^(k-3);
……
第k轮:剩下2^(k-k)=1人。
所以, f(2^k)=1.
但n=2^k局限性太大了,我们考虑如何扩展到n为任意正整数的情况。首先得明确一个事实,自然数 n=2^k+q.那么我们可以这样理解:初始圈经过有限次的报数,一定存在某个时刻剩余人数为2^k。那么问题又转化到n=2^k的情况了。
我们来举个实例,n=5=2^2+1,m=2
经过简单演算可知f(5)=3.
![](https://i-blog.csdnimg.cn/blog_migrate/797952ab0676daade6b8450b837741b7.jpeg)
初始圈中第一个退出的编号应为2q,如左上图所示,也就是说这轮1~m的循环结束了。此时整个圈会做变动,但实际上就是将编号2q+1定为新圈的1号,而现在剩下的人数已只有2^k了,已知f(2^k)=1.这里的1号指的恰是初始圈的2q+1.所以f(n)=f(2^k+q)=2q+1.
关于正整数拆分定理的证明
证明:
不妨设这些整数为x1,x2,x3,.....,xn.则xi>1
且x1+x2+...+xn=N.设m=max(x1*x2*...*xn)
我们首先论证当(x1*x2*..*xn)取到最大时,一定不存在xi且xi>=4
如果存在xi>=4,将xi换成(xi-2)+2.
但2*(xi-2)=xi+(xi-4)>=xi
因此乘积x1*x2*...*xn会变大
故xi=2或3
所以m=2^p*3^q
又2+2+2=3+3,2*2*2<3*3
因此当x1*x2*...*xn取到最大时,不可能有多了2个的2.
综上所述,原命题成立。
欧拉函数
欧拉函数是数论中很重要的一个函数,欧拉函数是指:对于一个正整数n,小于n且和n互质的正整数的个数,记做:φ(n),其中φ(1)被定义为1,但是并没有任何实质的意义。
定义小于n且和n互质的数构成的集合为Zn,称呼这个集合为n的完全余数集合。
显然,对于素数p,φ(p)=p-1.对于两个素数p、q,他们的乘积n= pq 满足φ(n)=(p-1)(q-1)
证明:
对于质数p,q,满足φ(n) =(p-1)(q-1)
考虑n的完全余数集Zn = { 1,2,....,pq -1}
而不和n互质的集合由下面三个集合的并构成:
1) 能够被p整除的集合{p,2p,3p,....,(q-1)p} 共计q-1个
2) 能够被q整除的集合{q,2q,3q,....,(p-1)q} 共计p-1个
3) {0}
很显然,1、2集合中没有共同的元素,因此Zn中元素个数=pq-(p-1+q-1+1)=(p-1)(q-1)
欧拉定理
对于互质的整数a和n,有aφ(n) ≡ 1 mod n
证明:
首先证明下面这个命题:
对于集合Zn={x1,x2,...,xφ(n)},考虑集合
S = {ax1 mod n,ax2mod n,...,axφ(n)mod n}
则S=Zn
1) 由于a,n互质,xi也与n互质,则axi也一定于p互质,因此
任意xi,axi mod n 必然是Zn的一个元素
2) 对于Zn中两个元素xi和xj,如果xi≠xj
则axi mod n ≠ axi mod n,这个由a、p互质和消去律可以得出。
所以,很明显,S=Zn
既然这样,那么
(ax1 × ax2×...×axφ(n))mod n
= (ax1 mod n × ax2mod n × ... × axφ(n)mod n)mod n
= (x1 × x2 × ... × xφ(n))mod n
考虑上面等式左边和右边
左边等于(aφ(n) × (x1 × x2 × ... × xφ(n))mod n) mod n
右边等于x1 × x2 × ... × xφ(n))mod n
而x1 × x2 × ... × xφ(n))mod n和p互质
根据消去律,可以从等式两边约去,就得到:
aφ(n) ≡ 1 mod n
推论:对于互质的数a、n,满足aφ(n)+1 ≡ a mod n
欧几里德算法
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:
定理:gcd(a,b) = gcd(b,a mod b)
证明:a可以表示成a=kb+r,则r=a mod b
假设d是a,b的一个公约数,则有
d|a, d|b,而r=a-kb,因此d|r
因此d是(b,a mod b)的公约数
假设d 是(b,a mod b)的公约数,则
d | b , d |r ,但是a=kb+r
因此d也是(a,b)的公约数
因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证。
1,a,b,c是整数,证明ax+by=c在整数范围内有解的充要条件是(a,b)整除c
证明:
设(a,b)=d
1)充分性:因为d=(a,b),所以存在x0,y0∈Z使ax0+by0=d,又d│c,所以c=dk
=k(ax0+by0)=a(kx0)+b(ky0),所以方程ax+by=c有整数解(kx0,ky0)
2)必要性:因为ax0+by0=c,x0,y0∈Z
d是a,b的最大公约数,所以d│a,d│b,故d│ax0+by0,即d│c
2,不定方程ax+by=c,(a,b)=1,若(x0,y0)是一组解,则所有解可表成:
x=x0+bt
y=y0-at,(t是整数)
证明:
为表示方便,设x1=x0+bt,y1=y0-at是任一组解
一方面,把x1,x2表达式代入ax+by=a(x0+bt)+b(y0-at)
=ax0+abt+by0-abt=ax0+by0=c
所以(x1,y1)确是ax+by=c的解,且(x1,y1)=(x0,y0)只要取t=0即可
另一方面,设ax+by=c有另一组解(x1,y1),则有方程组
ax0+by0=c①
ax1+by1=c②
①-②得a(x1-x0)=b(y0-y1)
根据整除性质,显然有a│b(y0-y1),b│a(x1-x0)
但(a,b)=1故有a│y0-y1,b│x1-x0
不妨设x1-x0=bt1,y0-y1=at2(t1,t2∈Z),则x1=x0+bt1,y1=y0-at2,
代入②得a(x0+bt1)+b(y0-at2)=c+ab(t1-t2)=c
故ab(t1-t2)=0,所以t1=t2
设t1=t2=t,则通解为x=x0+bt,y=y0-at
证毕!