中国余式定理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
範例六 任何一個大於1的合成數可表示唯一連串的質數之積(Product)嗎?
可以的! 令C為該合成數,則C可表示為C=pq,1<pq。
p
q
質數

合成數
合成數
質數
合成數
合成數
針對第一種組合,因為p已是質數,只需將合成數q表示成 q=xy, 然後依照 x 和 y 的質數與合成數之四種組合仿照相同的討論即可。 上表中的第二種組合和第三種組合的討論也類似於第一種組合 之討論。
假設給兩數 a=120、b=140 a=120=2335 b=140=2257
→ gcd(120,140)=20
a

P a1 1
P a2 2
...Pmam

b

Pb1 1
Pb2 2
...Pmbm
m
則gcd(a,b)
P min( ai i
,bi
) ,1

i

m
i 1
13
兩整數 gcd 的歐幾里得演算法即為中學時代所學的輾轉相除法!
13.2 質數的定義和性質 13.3 歐幾里得演算法 (Euclidean Algorithm) 13.4 中國餘式定理 (Chinese Remainder Theorem)
1
13.2 質數的定義和性質
2
範例一 何謂質數?
有一個正整數 n, n>1 若 n 想寫成二個正整數的乘積只能唯一表示成 n=1n , 也就是說除了 n=1n 的表示方式外, 再沒有別的表示方式時, 我們稱 n 為質數.


k

i 1
Pi


1
很容易可檢查出該合成數 C 必大於假設中的最大質數
且該合成數 C 除以任一個 Pi ,1ik 後的餘數必為1,這是矛盾的。
6
範例五 一個質數和下一個質數之間距離有多遠呢?
兩個相鄰的質數,其間隔可大到任意大。 只要保證數列中的任一元素皆為合成數, 即可將該相鄰兩質數推開得任意遠。 令該數列=<n!+2, n!+3, …,n!+n> , 這裡 n 為一任意大的正整數。 很容易可驗證 n!+2 可除盡2;n!+3 可除盡3;…;n!+n 可除盡 n。 以上的可除盡性我們用符號 k|(n!+k),2kn,表示之。
1 24 18
6
138 5 120
18 3 18
0
我們因此得到 gcd (24,138)=6。 上述的輾轉相除法可寫成下列的橫式算術式:
138=524+18 24=118+6 18=36
14
範例一 如何證明上述輾轉相除法求 gcd(a,b) 的演算法是對的?
令 a q b r ,我們的目標是證明 gcd(a,b) gcd(b,r) 。 令 d gcd(a,b),可知 d | a 和 d | b,這裡 d | a 代表 a 可被 d 整除。 由 d | a 和 d | b 兩個條件,可推得 d | (a q b) 也就是推得 d | r 。 綜合 d | a 、 d | b 和 d | r 三個條件,可得:
例如:2 的乘積只能寫成 1 和本身的乘積, 所以 2 是質數 且是最小的質數.
注意!1 並不是質數
3
範例二 給一個很大的正整數n,如何判定是否為質數?
最蠻力的方法是將 n 除以2,若除得盡,則 n 不為質數。 假若 n 除以2後有非零餘數,則試試將 n 除以3, 若仍除不盡,則再往下試試,將 n 除以5、除以7、…、除以 n1 。 如果 n 除以這些數皆有非零餘數,則 n 必為質數。
8
範例七 對大一點的合成數,可有較好的算數運算式以求得其質數的連
乘積形式?
以長除法求120的質數連乘型式可如下表:
2 120 2 60 2 30
3 15 5
我們得120=2335
最大公因數(Greatest Common divisor),a 和 b 的最大公因數表示成 gcd(a,b)
9
證明其中必有兩數的乘積為131072。
令S1={2, 65536}、S2={16, 8192}、S3={128, 1024}, 則在S中取四數, 根據鴿籠原理可知必有一集合Si中的兩數皆被取得, 其中i{1, 2, 3},而此兩數乘積為131072。 故得證!
11
13.3 歐幾里得演算法
12
最大公因數
2n 2n

2 2

42n2
(1)0


n 1
0

401n1


n 1
1

411n
...


n n
1 1
4n110
1 4t 1 4 p
4(t p)
其中 t, p Ζ,故得證
10
範例九 令 S={2, 16, 128, 1024, 8192, 65536},若從S中取四個數來,
4
範例三 是否有比 O(n) 更快的質數判定法?
有的! 令 n=61,則61除以2、3、5和7皆得非零的餘數, 那麼61並不需要除以11以判定其是否為質數, 原因是61=5×11+6,那意謂著61=11×5+6。 這隱含著61除以5有非零餘數時,也等同於61除以11有非零餘數。 不難感覺出判定 n 是否為質數,只需檢查2、3、5…和 n 是否可被 n 除盡即可。 最壞情況需花 O( n) 的時間即可判定 n 是否為質數。
若 d 為 (a,b) 的因數,則 d 亦為 (b,r) 的因數。 剩下的是證明:若 d 為 (b,r) 的因數,則 d 亦為 (a,b) 的因數。 假若 d | (b,r) ,則 d | (q b r) ,也就是得 d | a 。 就證得了 d | (a,b) 會成立。 綜合上述二個方向的分析,我們證得 gcd(a,b) gcd(b,r) 。
此種質數判定法也稱 埃拉托森(Eratosthenes)篩洗法
5
範例四 質數的個數是否為有限個?
利用反證法(Bwenku.baidu.com Contradiction)
假設質數的個數為有限個,令這k個質數為P1 、P2 、P3 …和 Pk。
因為數列 P 中已包含了所有的質數,所以任何一個不在數列 P 內
的數必為合成數。我們現在找出一個合成數,其型式為C
範例八 證明 f (n)=32n+25n+1為4的倍數,其中n為非負整數
f (n) 32n2 5n1 (4 1)2n2 (4 1)n1


2n 0
2

40
(1)2n2


2n 1
2

41 ( 1) 2 n 1

...


相关文档
最新文档