什麼是格子乘法?
格子乘法(lattice multiplication)又稱為 gelosia 法或納皮爾格網法(Napier's grid),是一種用圖像方式來計算兩個整數相乘的技巧。它不需要在腦中記住進位,而是先畫出一個長方形格網,把每個格子用對角線分成兩半、各填入一位數乘積的十位與個位,再沿著對角線相加,就能直接讀出答案。這個計算機會算出任意兩個整數的乘積,並完整繪出格子乘法的格網,讓你一步一步看清楚每個環節——非常適合正在學習這個方法的學生,也方便老師製作練習題。
計算機怎麼用
輸入被乘數(放在最上方的數字)和乘數(放在右側的數字),然後送出。工具會回傳帶有千分位的乘積、一段白話的算式說明,以及一個 \(m \times n\) 的格網,其中 \(m\) 是被乘數的位數、\(n\) 是乘數的位數。每個格子顯示交叉兩位數字相乘所得的兩位數,十位數寫在左上三角形、個位數寫在右下三角形。
公式原理
把被乘數的各位數字橫排在最上方,把乘數的各位數字縱排在右側邊緣。在第 \(i\) 列、第 \(j\) 行的格子中寫入 \(p = a \times b\),其中十位 \(= \lfloor p/10 \rfloor\) 放在對角線上方,個位 \(= p \bmod 10\) 放在下方。接著從右下角開始,沿著每一條對角線把三角形內的數字相加,遇到進位就往左上方的下一條對角線進位。最後沿著左側往下、再沿著底部往右讀出邊緣的數字,就是乘積——這正好等於一般的整數乘法結果:$$\text{Product} = \text{Multiplicand} \times \text{Multiplier}$$
實例演算:785 × 1220
數字 7、8、5 橫排在最上方,1、2、2、0 縱排在右側。把每個格子填好(例如 \(7 \times 2 = 14\) 寫成 1\4),再沿對角線相加,左側由上到下得到邊緣數字 0、9、5、7,底部由左到右得到 7、0、0,連起來讀作 957700。數值驗算也確認 $$785 \times 1220 = 957{,}700$$
常見問題
個位數也能算嗎?可以。一位數乘一位數會產生一個 \(1 \times 1\) 的格網,例如 \(7 \times 8 = 56\) 會顯示成 5\6。
輸入 0 會怎樣?只要任一個輸入是 0,乘積就是 0,格網會填滿 0\0 的格子。
對角線相加的結果真的是答案嗎?是的——格網只是一種視覺化的呈現方式,工具回報的乘積就是這兩個數字精確的整數乘法結果。