歡迎來到數字世界!

在本章中,我們將深入探討數論 (Number Theory),這被認為是數學中最「純粹」的部分。數論主要研究整數的性質。雖然起初看起來很抽象,但它卻是現代科技背後的秘密引擎,從網絡安全到信用卡加密,都離不開它的運作。
由於這是科技應用純數 (Further Pure with Technology) 的一部分,我們不僅會親手計算,還會思考如何運用編程 (programming)科技 (technology) 來探索當中的規律。別擔心如果你不是電腦專家——我們會一步一步為你拆解所有概念!

1. 基礎磚塊:質因數分解

在開始複雜的內容之前,讓我們看看數字世界的「原子」:質數 (Prime Numbers)

算術基本定理 (Fundamental Theorem of Arithmetic)

這個名詞聽起來很深奧,但它的意思很簡單:每個大於 1 的整數,不是本身就是一個質數,就是可以被唯一地表示為一組質數的積。
例子:60 可以寫成 \( 2^2 \times 3 \times 5 \)。除了這個組合,沒有其他方法能只用質數來表示 60!

科技連結:質數測試

在考試中,你可能會看到一些設計用來檢測數字是否為質數的小程式。簡單程式的一個常見局限是速度。如果程式要檢查直到 \( n \) 的每一個數字來確認是否有因數,那麼當數字很大時,速度會非常慢。
小貼士:若要檢查 \( n \) 是否為質數,電腦只需要測試直到 \( \sqrt{n} \) 的因數即可。這樣效率高得多!

快速溫習:
質數:只有兩個因數(1 和本身)的數字。
唯一分解:每個整數都有一個獨一無二的「質數指紋」。
效率:測試因數時,只需檢查到 \( \sqrt{n} \)。

2. 同餘運算 (時鐘算術)

同餘運算 (Modular arithmetic) 通常被稱為「時鐘算術」。如果現在是 10:00,4 小時後在標準時鐘上不是 14:00,而是 2:00。這就是模 12 (Modulo 12) 的運作方式。

標記法

我們寫作:\( a \equiv b \pmod n \)。
這意味著 \( a \) 和 \( b \) 除以 \( n \) 時會留下相同的餘數
例子:\( 17 \equiv 2 \pmod 5 \),因為 17 和 2 除以 5 後的餘數都是 2。

成功的法則

1. 化繁為簡:你總是可以將大數替換為其餘數,使計算更輕鬆。
2. 負餘數:有時候反向思考會更容易。在 \( \pmod{10} \) 中,\( 9 \) 等同於 \( -1 \)。這會讓像 \( 9^{50} \) 這樣的指數運算變得容易得多,因為 \( (-1)^{50} = 1 \)。

避免常見錯誤:
不要將 \( \equiv \) 符號完全等同於普通的等號來進行除法。除非你除以的數與模數是互質 (co-prime) 的(意即它們除了 1 之外沒有其他公因數),否則你不能隨意將兩邊「相除」。

重點總結:同餘運算專注於餘數,它將無限的數線變成了有限的循環!

3. 指數運算的捷徑:費馬與歐拉

當數字變得極大時,我們需要捷徑。這兩個定理是你解決高次方問題時的最佳夥伴。

費馬小定理 (Fermat’s Little Theorem)

若 \( p \) 是質數,且 \( a \) 是任何不被 \( p \) 整除的整數,則:
\( a^{p-1} \equiv 1 \pmod p \)
例子:\( 3^{10} \pmod{11} \) 是多少?因為 11 是質數,答案直接就是 1!

歐拉總計函數 (Euler’s Totient Function) \( \phi(n) \)

如果模數不是質數怎麼辦?我們使用歐拉總計函數。\( \phi(n) \) 是小於 \( n \) 且與 \( n \) 互質的數字個數。
• 如果 \( p \) 是質數,\( \phi(p) = p - 1 \)。
• 如果你有兩個質數的積 \( n = p \times q \),則 \( \phi(n) = (p-1)(q-1) \)。
歐拉定理:若 \( a \) 與 \( n \) 互質,則 \( a^{\phi(n)} \equiv 1 \pmod n \)。

威爾遜定理 (Wilson’s Theorem)

這是一個專門測試質數的方法:一個數字 \( p \) 是質數,若且唯若:
\( (p-1)! \equiv -1 \pmod p \)
比喻:這就像只有質數才知道的「秘密握手信號」。

快速溫習:
費馬:模數為質數時使用。
歐拉:用於複合數(非質數)時使用。
威爾遜:連結了階乘 (factorials) 與質數。

4. 丟番圖方程 (Diophantine Equations)

丟番圖方程是指我們只關心整數解的方程。在「科技」試卷中,你通常會使用編程循環來找出這些解。

畢氏三元數 (Pythagorean Triples)

這是指滿足 \( x^2 + y^2 = z^2 \) 的整數。最著名的是 \( (3, 4, 5) \)。你可能會被要求編寫程式,找出滿足特定條件(例如 \( x + y + z = 100 \))的三元數。

佩爾方程 (Pell’s Equation)

這是一種特別的方程,形式如下:
\( x^2 - ny^2 = 1 \)
其中 \( n \) 是非平方數的整數。這些方程總是有顯然解 \( (1, 0) \),但它們可能有無限多個更大的整數解。手工尋找這些解很困難,但電腦可以通過「暴力破解」來搜尋,即檢查不同的 \( y \) 值,看 \( 1 + ny^2 \) 是否為完全平方數。

別擔心,這看起來可能有點棘手!在考試中,你不必從零開始利用高深的理論來求解佩爾方程;你只需要理解找出這些解的程式邏輯即可。

5. 數論中的編程

由於這是一個「科技應用」單元,你需要明白如何編寫和閱讀簡單的演算法。

核心編程概念:

For 循環:用於測試一定範圍內的數字(例如,檢查 1 到 1000 之間所有的 \( x \))。
If 語句:用於檢查條件(例如,如果 \( x^2 - ny^2 == 1 \))。
\n• 模運算子 (%):在編程中,`x % n` 會給出 \( x \) 除以 \( n \) 的餘數。這對於質數測試和同餘運算至關重要。

科技的局限性

電腦雖然速度快,但也有其局限:
1. 溢位 (Overflow):如果數字變得太大(例如 \( 100! \)),電腦可能會耗盡記憶體或產生錯誤的「溢位」提示。
2. 時間複雜度 (Time Complexity):如果解非常巨大,「暴力搜尋」(檢查每一個數字)可能需要數年時間。我們需要「精簡化」(如 \( \sqrt{n} \) 技巧)來加速運算。

重點總結:科技是處理繁重計算的工具,但你需要數學理論來告訴電腦如何高效地計算。

最終總結

數論全是關於整數中的規律。
同餘運算讓我們利用餘數來簡化巨大的問題。
定理(費馬、歐拉、威爾遜)為處理冪次和質數提供了強大的捷徑。
丟番圖方程尋求整數解,通常會配合電腦循環來解決。
科技需要精明的演算法來避免錯誤並節省時間。

保持練習!數論就像一場拼圖遊戲——一旦你看見了當中的規律,一切都會豁然開朗。