讀古今文學網 > 數學女孩2:費馬大定理 > 7.2 同余 >

7.2 同余

7.2.1 余項

「……就這樣,我被表妹辯倒了。」我說。

「尤里對條件看得真緊啊……」泰朵拉說道。

「我看你被辯倒了很開心嘛。」米爾嘉說道。

這裡是我的教室。

米爾嘉出了院,從今天起回來上課了。不過是拄著枴杖來的。因為行動不便,放學後我們就沒到圖書室去,直接在教室討論起來了。

米爾嘉的眼鏡煥然一新,鏡框的彎曲度略與之前不同。左臂和右腳還纏著繃帶,顯得很可憐。

學妹泰朵拉也加入了我們的談話。因為前些日子捉迷藏的事,我不由得很在意她,可她卻一如往常。

女孩子的心,還真是難以捉摸啊 —— 咦?

「我說泰朵拉,你換了髮型?」

清爽了許多,給人感覺不再亂七八糟慌慌張張了,反而利落了許多。

「誒?啊,你發現了?沒做什麼大的修整,只把長長的部分稍微修剪了一下……剪太短了嗎?」

泰朵拉用手指拽著劉海,眼睛往上看著。

「短了不少……不過很配你哦。」

「誒?是是是是是嗎?很……很高興你能這麼說……」

只見泰朵拉兩手握拳在腦袋上轉來轉去,不知道是什麼手勢。

「然後呢?聽見『12 和 0 是不一樣的』你就跟霜打的茄子似的撤了?」米爾嘉問道。

「此話怎講?」

「時鐘的世界,是由 mod 來運營的。」

「mod ?」

「求余項 —— 也就是餘數的運算,叫作 mod。打個比方,7 除以 3 餘數得 1 就可以寫成下面這樣。

7 mod 3 = 1

無視商,只關注餘數。我們按順序來講。」

米爾嘉說著,向我打了個手勢。

讓我交出筆記本和自動鉛筆是吧,遵命,遵命。

◎  ◎  ◎

我們按順序來講。

你用了自然數的範圍來定義余項。自然數 a 除以 b 得到的商設為 q,余項設為 r,則 a, b, q, r 關係如下所示,這是對的。

在此,將 ab 的範圍從自然數擴大到整數,但因為商不能為 0,所以 b ≠ 0。

將整數 a 除以整數 b(b ≠ 0) 得到的商設為 q,余項設為 r,用以下等式定義商和余項。因為 b 也有可能為負數,所以我們在附加條件的不等式中用絕對值 |b| 代替 b

給出 a, b 的話,q, r 就具有唯一性了。這樣就可以定義 mod 了。

mod的定義(整數)

假設 a, b, q, r 是整數, b ≠ 0。

這沒什麼難的。和 +,-,×,÷ 一樣,mod 就是一個運算。打比方說,用 7 除以 -3,商為 -2,餘數為 1。

因為存在制約條件 0 ≤ r < |-3|,所以 7 mod (-3) 的值只能為 1。

採用剛剛我們定義的運算 mod,假設從凌晨 0 點開始過了 h 個小時,那麼時針就會指向 h mod 12。當然,為了讓你表妹沒法吐槽,我把 12 的刻度事先換成了 0。

h 也可以是負數。從凌晨 0 點過了 -1 個小時(也就是提前了一小時)時,時針指向 11,然後 (-1) mod 12 也確實為 11。

-1 = 12 × (-1) + 11 (0 ≤ 11 < |12|)

那麼,我給泰朵拉出道簡單的題,對於整數 ab,存在

a mod b = 0

請用一句話說明 ab 的關係。

◎  ◎  ◎

「嗯……」泰朵拉思考著米爾嘉的問題,「整數 ab 的關係嗎,a mod b 指的是 a 除以 b 的餘數對吧,所以 a mod b = 0 指的是……『a 除以 b 餘數為 0』吧!」

「沒什麼錯,不過泰朵拉,這可以直接用一句話歸納。」

「誒?用一句話?嗯,那個……」

「『ab 的倍數』,或者說『ba 的約數』也行。」米爾嘉說道。

「還可以說成『a 能整除 b』。」我說。

「啊,是這樣啊!」泰朵拉用力點了點頭。

「mod 是只求餘數的運算對吧。」我說,「求商和餘數我還能明白,只求餘數有什麼意義嗎?」

「喔……你不是喜歡『調查奇偶性』嗎?」米爾嘉反問我。

「調查奇偶性是種理論啊……啊,對了!」

「沒錯。『調查奇偶性』就是『調查除以 2 的餘數』。」

嗯,確實如此。調查奇偶性的時候除以 2,無視商,只關注餘數。原來如此。

「我想問問在 mod 的定義中出現的 a = bq + r 這個式子。」泰朵拉說道,「r 是英語的 remainder『餘數』的首字母對吧,但是 q 是什麼單詞的首字母呢?『除』是 pide,『比率』是 ratio,『分數』的話是 fraction……」

「quotient。」米爾嘉立即答道,「是『商』。mod 是 modulo。」

7.2.2 同余

「那麼,我們來談談同余。」米爾嘉說道,「同余指的是,把餘數相等的數同等看待。」

「同等看待?」泰朵拉一臉不解。

「就是把不同的東西看成一樣的東西的意思哦,泰朵拉。」我補充道。

「時鐘的例子很簡單。」米爾嘉繼續講道,「3 點和 15 點是不同的時刻,但是在這兩個時刻,時針都指向 3。因此,我們把 3 和 15 同等看待。也就是說,把除以 12 得到的余項中,相等的余項同等看待。如下面的數學公式所示。」

3 ≡ 15 (mod 12)

「要注意這裡的符號不是 =,而是 ≡。這個式子叫作同余式。此外,我們把這時的 12 稱為模。3 ≡ 15 (mod 12) 這個同余式讀作

『3 和 15 對模 12 同余。』

試著以 12 為模,舉出幾個同余式的例子。總之就用 ≡ 連接那些用模除後餘數相等的數。」

「因為 ≡ 兩邊的余項相等,所以一般可以像下面這樣表示。

也可以把這個想成是 ≡ 的定義。」

「米爾嘉,我想問一下。」泰朵拉舉起手。

「什麼?」

「我感覺越來越不明白 mod 這個運算的含義了。剛開始我是將 a mod b 理解為『a 除以 b 的餘數』,但是涉及『以 m 為模同余』時,出現了 (mod m),mod 左邊被除數的位置上什麼都沒有寫……」

「這樣啊,不習慣的話確實容易搞混。」米爾嘉說道,「泰朵拉,你明白這個式子的意思吧?」

a mod m = b mod m

「嗯,我明白,餘數相等。等式的意思是『a 除以 m 的餘數』和『b 除以 m 的餘數』相等。」

「那就行了。這個式子中,兩邊的除數都是 m。現在為了把式子簡化,我們把兩邊都有的 mod m 統一寫到右邊,但在這裡 ab 並不相等,只是除以 m 的餘數相等。所以我們不採用 a = b (mod m) 這樣的等號 =,在此我們用一個跟等號很像的符號 ≡ 來代替它。」

ab (mod m)

「原來如此,我明白了。a mod m 是計算餘數的式子。ab (mod m) 是表示餘數相等的式子……是這樣吧?」

「是這樣。」

米爾嘉豎起食指轉了一圈,繼續往下講。

「那麼,a 除以 m 的餘數等於 b 除以 m 的餘數可以直接寫成

a mod m = b mod m

也可以寫成下面這種形式。

(a - b) mod m = 0

換句話說,就是『以 m 為模的同餘數字的差,是 m 的倍數』。」

「誒?誒?啊,確實是這麼回事。這個我明白。一計算 a - b,兩邊的餘數就會消失了呢。」泰朵拉瞭然地點頭。

「對,舉個例子,15 和 3 的情況下,

就像這樣,15 和 3 的差確實是 12 的倍數。」

mod 的另一種說法

假設 a, b, m 為整數,m ≠ 0 。

7.2.3 同余的含義

「話說,為什麼要把餘數相等的兩個數字稱為同余呢?我倒是知道三角形的全等 1……」

1日文中整數的「同余」和幾何的「全等」是一個詞,皆為「合同」。—— 譯者注

米爾嘉聽了這個問題,微微歪著頭,回以微笑。

「你一直都很在意用詞呢……確實,幾何裡也有這個詞。『兩個三角形全等』指的是無視位置和方向,把兩個三角形同等看待。把兩個全等的三角形的位置和方向翻過來掉過去,能恰好重合,對吧?」

我和泰朵拉默默地點了點頭。米爾嘉繼續往下講。

「無視差異是很重要的。整數的同余跟幾何的全等很像。以 m 為模,無視 m 倍數上的差異,把兩個數字同等看待。如果把同余的兩個數字加減 m 的倍數,就能恰好相等。」

7.2.4 不拘小節地同等看待

「我覺得很不可思議。」泰朵拉說,「數學是一門嚴謹的學問對吧。數學重視日常生活中那些想不到的、微小的差異,然而偶爾也能非常不拘小節地將兩個東西同等看待嗎?『復平面』中,將點和數字同等看待,在醫院講過的『群』則是在集合的元素中定義運算,和數字同等看待。還有整數的『同余』,也是無視倍數的差異同等看待。本來同余這個用語也是將幾何和整數做了同等看待……」

「一出現同等看待,感覺就變得有意思了。」我點頭道,「應該說感覺好像『發現』了未知的事物,『這個和那個很像!不,幾乎一樣!』—— 這種感覺是喜悅嗎?還是看穿結構的快樂呢?結構的同等看待……」

「我們在醫院討論過『群同構』。」米爾嘉也開口了,「同構這個概念是想從數學層面表達『結構的同等看待』。創造同構的映射稱為同構映射,同構映射是含義的源泉,也是連接兩個世界的橋樑。」

7.2.5 等式和同余式

「這個嘛,就先不往哲學方面談了。」米爾嘉繼續先前的話題,「本來 = 這個符號就很像 ≡。因為等式和同余式非常相似,所以數學家們才選了這個跟等號非常相似的符號表示同余。事實上,等式和同余式極為相似,但是除法除外。」

等式的情況 ——

a = b 時,以下關係式成立。

a + C = b + C  兩邊同時加上同一個數,結果相等a - C = b - C  兩邊同時減去同一個數,結果相等a × C = b × C  兩邊同時乘以同一個數,結果相等

同余式的情況 ——

ab (mod m) 時,以下關係式成立。

a + Cb + C (mod m)  兩邊同時加上同一個數,結果同余a - Cb - C (mod m)  兩邊同時減去同一個數,結果同余a × Cb × C (mod m)  兩邊同時乘以同一個數,結果同余

7.2.6 兩邊同時做除法運算的條件

「除法就是去除。」米爾嘉說。確實,加減乘除四則運算中,關於加法、減法以及乘法,等式和同余式都一模一樣。於是問題自然就來了……正當我想到這裡的時候,泰朵拉舉起了手。

「米爾嘉,同余式不可以在兩邊同時除以同一個數嗎?」

對,就是這個!泰朵拉雖然經常會落下條件,不過還是非常聰明的,她一直跟著米爾嘉的思路,也始終執著地帶著問題聽講。同余式中該怎麼進行除法運算呢……

「跟等式不一樣。現在讓他來舉具體例子。」米爾嘉指著我。

把包袱丟給我嗎?!好吧,也行……

「這個,嗯……比如說,將 12 作為模,則 3 和 15 同余。

3 ≡ 15 (mod 12)

但是,在兩邊同時除以 3,同余式就不成立了。因為在兩邊同時除以 3,左邊是 1,右邊是 5。以 12 為模的話 1 跟 5 是不同余的。」我說。

(3 ÷ 3)(15 ÷ 3) (mod 12)

「誒?是嗎……」泰朵拉說道,「以 12 為模,1 跟 5 不同余……啊,對啊。因為時鐘的時針在 1 點和 5 點分別指向不同的位置。明明在 3 點和 15 點是指向一個位置的……總覺得有些可惜呢。」

「剛剛他舉了一個不能除的例子。」米爾嘉說道,「但是也有兩邊可以除以同一個數的情況,比如說 15 和 75 這個例子,這兩個數以 12 為模是同余的。」

15 ≡ 75 (mod 12)

「75 點是幾點啊?」泰朵拉說道,「75 ÷ 12……這個,商 6 余 3 對吧。因為 15 ÷ 12 商 1 余 3,所以 15 和 75 確實是同余的。」

「這時就算在兩邊同時除以 5,同余式也成立。」米爾嘉說道。

(15 ÷ 5) ≡ (75 ÷ 5) (mod 12)

「嗯。15 ÷ 5 = 3,75 ÷ 5 = 15,3 跟 15 同余。咦?不過像這樣在兩邊同時除以 3,同余式就不成立了呢……」

(15 ÷ 3)(75 ÷ 3) (mod 12)

因為 15 ÷ 3 = 5,75 ÷ 3 = 25。5 點和 25 點……也就是說,時針指向的是 5 點和凌晨 1 點。

我恍然大悟。原來在同余式兩邊同時除以某個數,同余式有可能成立,也有可能不成立啊。

這樣一來,下一個問題是……

就如回應我一般,米爾嘉說道:

「這樣下一個問題自然就來了。」

問題7-1 (同余式和除法運算)

假設 a, b, C, m 為整數。

C 具有何種性質時,以下關係成立?

「這個條件就是說,兩邊可以同時除以 C 對吧。」

「對。」米爾嘉簡短地回答道。

我跟泰朵拉都迅速閉上嘴,開始進入思考模式。

我從 mod 的定義出發,開始變形數學公式,往泰朵拉那裡瞟了一眼,發現她也開始在筆記本上寫寫畫畫了……但不久,她就一臉抱歉地對我說:

「對不起,學長……還有米爾嘉學姐。很抱歉打擾你們了,不過能給我點提示嗎?就算想琢磨也完全沒有頭緒啊……」

「思考問題的第一步是?」米爾嘉問道。

「舉例子。『示例是理解的試金石』。」泰朵拉答道,「我又確認了一遍剛才 3 ≡ 15 和 15 ≡ 75 的例子。」

「泰朵拉你想從除法運算的角度想吧?」

「誒?啊,是,沒錯。從可以進行除法運算的條件……」

「泰朵拉你啊……別從除法運算想,先觀察乘法運算。觀察乘法運算不是沒用的,它能幫你更好地理解除法運算。現在我們給集合 {0, 1, 2, ... , 11} 起個名字,叫作

然後在集合 裡定義運算 ,我們把運算 定義為『兩個數相乘除以 12 求餘數』。當然集合 關於運算 是閉集。因為除數是 12,所以餘數 r 在 0 ≤ r < 12 這個範圍內。」

 (運算 的定義)

「泰朵拉,我在醫院說群的時候寫了一個 ★ 的運算表,現在你來寫 的運算表,然後我們針對你寫的運算表來討論。」

「好,好的。請問,這個方框裡面帶個 × 的符號是……」

「別管它是 ★ 還是 ,是什麼都行。我只是試著選了一個跟乘法運算很像的符號。你算算這兩個例子。」米爾嘉舉了兩個例子。

「我懂了,那我來寫運算表。」

老實的泰朵拉開始在自己的筆記本上畫起運算表。首先在 0 的行和列上寫上一大串 0,然後在 1 的行和列上寫上 1, 2, 3, 4, ... , 11。然後開始努力填滿表格。

填到 6 這一行的一半時,泰朵拉突然抬起頭。

「啊,糟了!糟了糟了,我忘了今天得提早回家!抱歉,學長,米爾嘉學姐。今天我先失陪了,我們改天再一起研究數學吧!」

泰朵拉抓起筆記本 —— 上面是寫了一半的運算表,離開了教室。

7.2.7 枴杖

教室裡剩下我和米爾嘉。

少了活力四射的泰朵拉,教室一下子安靜了許多。

我看著米爾嘉腳上的繃帶,她是不是還在疼呢?

「米爾嘉,拄拐很費勁吧?」

「也不是我願意的。」

米爾嘉平時總是挺直腰板,雷厲風行地走路,拄拐對她來說應該很憋屈吧。

「不過,你就快能扔掉枴杖了吧。」

「我已經能撇掉枴杖走了,今天我只是想確認一下能不能行。」

確認?算了,不管怎麼說,沒出什麼大事真是太好了。

「今天你這就回去了嗎?」我問她。

「唔……也是啊。回去之前我想先去趟廁所。」

米爾嘉突然對我伸出手。

「誒?」

「枴杖太麻煩了。」

啊……原來是讓我借她肩膀。

我左手拿著枴杖,右手臂繞過米爾嘉的後背撐著她,就像懷抱一般。嗯……好難掌握平衡啊,而且碰女孩子這件事本身就讓我緊張得不行。

她左手臂繞過我的脖子,繃帶粗糙的觸感和藥品的氣味。我們一起站起來,走出教室,步入走廊。然後……

「左邊。」米爾嘉說道。

這邊嗎?不過,能不能不要在我耳邊小聲說話啊。

我們調整著步伐,注意著腳下。

「我走太快了?」

「沒關係。」

米爾嘉的重量應該都壓在我身上,我卻幾乎感覺不到她的重量。能感覺到的,只有柔軟又豐滿的……心跳不停,臉如火燒,柑橘系的香味把我的心攪得一團亂。

走廊裡沒有人,茜紅色的夕陽從窗口斜斜地灑進來。

「到這裡就行。」我們到了廁所跟前。

「那我在這兒等你。」我把枴杖遞給她。

「兩人三足,果然有意思啊。」

米爾嘉丟下這句話就進了廁所。

呼……

我靠在走廊的牆壁上,大大地出了一口氣。

透過窗戶,可以看到美麗的晚霞散佈在天際。

回去路上也要一直借她肩膀嗎。女孩子,怎麼說呢,真是非常的……我啊,難不成淨是被米爾嘉牽著鼻子走嗎?算了,無所謂了。

「兩人三足,果然有意思啊。」

果然?