運算律:為什麼算式能換寫而不換值

先看一筆假想的採購:買二十四本筆記本,每本一百九十八元,總價是多少?

照著單價乘數量,可以算出:

24×198=4752

另一個人沒有直接算一百九十八,而是先把每本當成兩百元,再扣掉每本多算的兩元:

24×200−24×2=4800−48=4752

兩種算法走的路不同,卻都在計算同一筆採購。可是,若有人寫成 24×200−2,事情就變了:前面二十四本都多算了錢,後面卻只扣回一本多算的兩元。

因此,算式能不能改寫,不能只看改完是否比較短、比較好算。我們真正需要判斷的是:改寫之後,還是不是原來那個數量關係?

運算律就是對這件事作出說明。它讓我們不必每次都把兩邊重新算完,才知道兩種寫法是否相等;但它也劃出界線,告訴我們哪些地方不能隨意移動。

人類早已有算法,需要釐清的是算法憑什麼有效

運算律不是某一天突然出現,人類才開始會算數。在古埃及留下的數學材料中,已經可以看到利用倍增與加總完成乘法的方法:先算出一份、兩份、四份、八份的數量,再挑出需要的部分合起來。這是一套有效的計算技術,不是沒有現代名稱就沒有數學知識。〔史料一〕

以下用本文自編的數字示意。要算十三個十七,可以先得到:

一個十七是十七,兩個是三十四,四個是六十八,八個是一百三十六。十三可以分成一加四加八,所以十三個十七就是:

17+68+136=221

若把一次兩數相加算作一步,而且暫不計拆分十三與選取各列的工作,這裡倍增三次、合併兩次,共用了五次加法;把十三個十七逐次相加,則要十二次加法。這種組織方式,已經能減少重算。

這個方法本身可以換數字重用,並不是只能解這一題。不過,掌握一套有效算法,與能夠判斷各種改寫是否合法,仍是兩種不同的能力。用幾個算對的例子,可以核對這幾題;要說明一整類改寫為什麼成立,還得找出不依賴特定數字的理由。這是說明範圍的差別,不是說古人算不出答案。

古代也不只有計算程序。《幾何原本》第七卷第十六命題,已經論證兩個數交換相乘次序,所得相等。這裡的「數」是由單位組成的正整數,並不是今天包含負數的有理數範圍。〔史料二〕

這類論證增加的,不是另一張列滿答案的乘法表,而是一個能反覆引用的關係:只要問題符合條件,就不必把每一對數重新相乘,才能確認交換後仍然相等。

因此,運算律的意義不只是「算得快」。它把一個更重要的問題放到眼前:當我們選擇另一條計算路徑,憑什麼確定自己仍在處理同一個數量關係?

交換與結合:改變安排,不改變參與運算的數

先從加法看起。

假想桌上有十八張白紙和七張色紙,若只問紙張總數,先記十八再記七,或先記七再記十八,都沒有增加或拿走任何紙張:

18+7=7+18=25

這是加法交換律。交換的是兩個加數的位置。

加入負數後,移動的仍然必須是完整的加數。例如:

18+(−7)=(−7)+18=11

這裡的第二個加數是「負七」,不是一個可以把負號丟在原地的七。若把式子換成 7+(−18),就已經換掉參與運算的數。

減法不能照搬這種交換。8−3=5,但 3−8=−5。前者是八減三,後者是三減八,兩者本來就在問不同的差。

若要把 8−3 改寫成可以交換的加法,必須先保留減法的意思:

8−3=8+(−3)=(−3)+8

不是「減法也能交換」,而是先把減去三寫成加上負三,再使用加法交換律。

乘法也有交換律。想像十二個圓點排成三排,每排四個。按橫排數,是四加四加四;按直列數,是三加三加三加三。兩種方式都把每個圓點恰好算了一次,所以:

3×4=4×3=12
按排或按列計數,每個圓點都恰好算一次;這是正整數乘法交換的直觀解釋。
按排或按列計數,每個圓點都恰好算一次;這是正整數乘法交換的直觀解釋。

這是正整數情境的直觀解釋,不是《幾何原本》的原證明。該書第七卷第十八命題確實使用了前述的乘法交換結果,再論證乘積之間的比。已經證明的關係,成為下一步推理的根據。〔史料三〕

交換時,同樣要保留完整因子。譬如:

3×(8−2)=(8−2)×3

這裡是「三」與「整個八減二」相乘,交換後,括號內的內容必須一起移動。它不是讓你從括號中挑一個數出來交換。

再看結合律。它處理的不是誰排前面,而是誰先和誰合起來。

38+(62+7)=(38+62)+7=107

左邊先算六十二加七,得到六十九,再加三十八;右邊先讓三十八與六十二湊成一百,再加七。三個加數一直依照三十八、六十二、七的順序排列,改變的只有先加的分組。

所以,交換律改位置,結合律改分組。 兩者不能混成一句「數字可以隨便搬」。

乘法的結合律也可以從分組理解。以下是另一個假想情境:有六箱鉛筆,每箱四盒,每盒二十五枝。

先算每箱的枝數,是:

6×(4×25)=6×100=600

先算總共有幾盒,再算枝數,則是:

(6×4)×25=24×25=600

六、四、二十五的次序沒有改變。兩種分組都在計算同一批鉛筆,只是先把哪一層合起來不同。

在本篇所用的有理數精確運算中,這些交換與結合規律也適用於負數、零、簡單分數與有限小數;但上面的實物圖解,只直接解釋了其中的正整數情形。例如,分數也可以這樣重新分組:

8×(12×6)=(8×12)×6=24

但結合律不是「括號都可以不管」。減法就有反例:

(12−5)−2=5,12−(5−2)=9

第一個式子從十二中先減五,再減二;第二個式子先求出五與二的差,再從十二中減去那個差。括號一改,後面要減去的數就改了。

運算律讓人能選擇計算路徑,前提是先認出自己正在做哪一種運算。

分配律:整體算與分開算,為什麼可以相等

交換與結合,主要是在同一種運算中調整安排。分配律則連接乘法與加法,說明「先合起來再乘」和「分別乘完再合起來」之間的關係。

這種關係也有很早的論證。《幾何原本》第二卷第一命題討論:把長方形的一條邊任意分成若干段,整個長方形的面積等於分割後各長方形的面積之和。原文用的是線段與長方形,不是今天的代數公式;但我們可以用現代數學語言辨認其中的分配關係。〔史料四〕

用本文自編的尺寸來看:一個長方形高四公分,寬九公分,把寬分成六公分與三公分。

整個面積是:

4×(6+3)=4×9=36平方公分

分開算,左邊面積是二十四平方公分,右邊是十二平方公分:

4×6+4×3=24+12=36平方公分
兩部分保有同一高度,完整合成原長方形;此圖不以負邊長解釋負數。
兩部分保有同一高度,完整合成原長方形;此圖不以負邊長解釋負數。

為什麼相等?不是因為三十六碰巧出現兩次,而是因為分割沒有留下空隙,也沒有把某一塊重複計算。兩塊都保有原來四公分的高度,所以四必須同時乘到六與三。

更重要的是,這個理由不依賴六與三這兩個特定數字。只要仍是把同一個長方形完整分割,整體與部分的關係就保留著。論證因此能涵蓋一類情形,而不只是核對一張圖的答案。

回到開頭的採購,一百九十八可以看成兩百減二,因此:

24×(200−2)=24×200−24×2

每一本都少兩元,二十四本就要少二十四個兩元。這是乘法對差的分配。若只減一次兩元,便沒有把每一份的差額完整計入。

分配律也可以反方向使用。假想兩班購買同樣單價的筆記本,一班十二本,另一班八本,每本一百九十八元:

12×198+8×198=(12+8)×198

左邊把兩班分開算,右邊先合併本數。共同的一百九十八沒有消失,而是保留在括號外,表示合併後每一本仍按同一單價計算。

這就是逆向提取共同因子的意思:辨認原來分開寫的幾筆運算,其實共享同一個完整因子。

可是,除法不能因為外表相似,就對除數中的和作同樣分配:

12÷(3+1)=12÷4=3,

而

12÷3+12÷1=4+12=16

把十二除以四,與把十二分別除以三、除以一再相加,並不是同一件事。分配律說的是特定運算之間的關係,不是所有括號外的符號都能「分進去」。

數字包含負數時,理由也必須跟著釐清

長方形很能幫助我們理解分配,但它也提醒我們注意解釋的界線:普通長方形沒有負三公分的邊長。因此,一張正長度的分割圖,不能單獨代替所有負數運算的說明。

十九世紀,皮考克在一八三〇年的《代數論》中,區分算術代數與符號代數,嘗試在放寬符號原有解釋限制時保留等值形式;這些做法的根據與範圍,也受到同時代數學家的討論。他要整理的,不是某一題的答案,而是符號的解釋改變後,哪些規則仍應保留,以及如何說明。〔史料五〕

我們不必學習那些更高階的理論,也能在負號上看見同一個要求:不能只因為式子看起來熟悉,就略過它的意思。

先抓住相反數的定義:與原數相加得到零的那個數,就是原數的相反數。

三的相反數是負三,負三的相反數則是三。所以,式子前面的負號,首先表示「取相反數」,不是保證結果一定小於零。

下面的 a、b 代表有理數,可以是正數、負數或零。那麼,−(a+b) 表示什麼?

它表示取「整個和」的相反數。把 a 與 b 各自換成相反數,便能與原來的和抵消:

(a+b)+[(−a)+(−b)]=(a+(−a))+(b+(−b))=0

因此:

−(a+b)=(−a)+(−b)=−a−b

這裡用到的,正是前面學過的加法交換與結合:讓每個數與自己的相反數配在一起。去括號不是一條孤立的「變號口訣」,而是由相反數的意義推得的結果。

以具體數字回查:

−(−4+7)=−(3)=−3

依規則去括號,也得到:

4−7=−3

若只改第一項,卻保留第二項的正七,就會得到 4+7=11。十一與原來的三相加不會等於零,自然不是整個和的相反數。

差式也是同一道理。減去 b,就是加上 b 的相反數:

a−b=a+(−b)

因此,取整個差的相反數時,a 要換成 −a,而原來參與加總的 −b,取相反數後會回到 b:

−(a−b)=−a+b

譬如,八減三是五,整體取相反數應該得到負五:

−(8−3)=−8+3=−5

若寫成 −8−3,結果是負十一,就沒有保住原來的意思。

這個規則也不要求 a、b 本身都是正數。假設 a=−4、b=−7,原來的差是:

−4−(−7)=3

它的相反數是負三。而按照 −a+b 改寫,得到:

4+(−7)=−3

字母代表負數時,仍然先看它在算式中的角色,不是看見幾個負號就憑印象決定答案。

同樣的完整性,也適用於負數乘上括號:

(−3)×(−4+2)=(−3)×(−4)+(−3)×2=12−6=6

負三必須分別乘到負四與正二。第一個乘積是正數,不代表第二個乘積也跟著變正。從相反數的角度看,乘以負三,等於先乘以三,再取整體的相反數;因此,分開計算後,兩個部分都必須取相反數,不能只改其中一個。

回到原式檢查,括號內是負二,負三乘負二也是六。兩條計算路徑互相核對,便能看出把後半段誤寫成加六的問題。

今天的用途:不只算得快,也能辨認是不是改了問題

前面的假想團購,可以把整個過程連起來:

12×198+8×198=(12+8)×198=20×(200−2)=4000−40=3960

先用分配律的反方向,把相同單價的兩筆數量合併;再用正方向,把較難乘的一百九十八改成兩百減二。

若分開計算,則是:

2376+1584=3960

這裡,運算律同時提供兩種能力:一種是設計較省力的算法,另一種是讓不同算法互相檢查。

把這個關係放進一份假想的現代團購試算表,就能用兩條計算路徑核對總價。這種直接合併本數的改寫,以兩批單價相同為前提。

若第二班每本只付一百八十八元,總價就應該是:

12×198+8×188=2376+1504=3880

此時若仍寫成 (12+8)×198,就會多算八十元。商品名稱相同,不保證單價相同;不能保留原本的兩批本數,卻擅自把不同單價改成同一個數。

還有一個更容易忽略的條件:計算途中有沒有加入別的操作?

再設想兩種不同的計費程序:每件商品五元,打九折,金額要四捨五入到整元。本例明定,遇到四點五元就進為五元。

第一種程序先把兩件合計、打折,最後才四捨五入:

(5+5)×0.9=9元

九元已經是整數,所以最後仍收九元。第二種程序則讓每件先打折,再各自四捨五入:每件的四點五元成為五元,兩件合計便是十元。

這不是分配律忽然失效。在精確計算中,四點五加四點五仍然等於九。差別來自其中一條程序多了「每件先四捨五入」;運算律並沒有准許我們把這一步移走。

所以,看懂運算律的人,不只是會把數字搬到好算的位置,也會追問:單價是否一致?每一項是否都被乘到?負號作用於哪個整體?中途是否改變了數值?

這些問題,往往比最後按一次計算機更重要。

回看前面的計算、幾何論證與符號討論,我們可以看見一條共同的問題線索:不只留下答案,也把能重用、能檢查的理由說清楚。今天我們學交換、結合、分配與相反數,不是在背幾條彼此無關的口訣,而是在學習辨認算式中的哪些關係可以保留。

等號兩邊可以長得很不一樣,卻仍然表示同一個數;兩個式子也可能只差一個括號,就已經在問不同的問題。

真正的熟練,是在改寫之前知道自己改了什麼,也知道自己必須保住什麼。

史料來源

  1. 史料一:J. J. O’Connor、E. F. Robertson,MacTutor,Mathematics in Egyptian Papyri(2000年12月)。專業數學史綜述;本文十三乘十七的比較為自編示例。
  2. 史料二:歐幾里得《幾何原本》,David E. Joyce 英文網頁編訂版,第七卷第十六命題與第七卷定義一、二。古典數的範圍不等同今天所有有理數。
  3. 史料三:同一編訂版,第七卷第十八命題。
  4. 史料四:同一編訂版,第二卷第一命題。長方形分割不以負邊長解釋負數。
  5. 史料五:Iulian D. Toader,Peacock’s Principle as a Conservative Strategy,arXiv:2603.07592v1(2026年3月8日),第2、3節;版本登記。此為研究文獻,並非皮考克原書。