閱讀就是力量

2023年11月——數學閱讀×遊戲

「中國的難題」 —— 華容道

古老的中國遊戲,以其變化多端、百玩不厭的特點與魔方、獨立鑽石棋一起被國外智力專家並稱為「智力遊戲界的三個不可思議」。它與七巧板、九連環等中國傳統益智玩具還有個代名詞叫作「中國的難題」。


遊戲的來源——華容道的故事

據《資治通鑑》注釋中說「從此道可至華容也」。華容道原是中國古代的一個地名,相傳因為策略失誤,曹操的二十萬魏國大軍在赤壁之戰中被五萬蜀軍擊敗,曹操帶著僅剩的幾十個殘兵逃亡

曾經敗走此地。由於當時的華容道是一片沼澤,所以曹操大軍要割草填地,不少士兵更慘被活埋,慘烈非常。

曹操逃亡的唯一途徑是華容道。 但是,蜀軍師諸葛亮早已算計到了這一點,並安置關羽在華容道捉曹。 關羽成為了曹操逃出華容道的最大障礙,關羽立馬華容道,一夫當關,萬夫莫開。四個劉備軍兵是最靈活的,如何發揮他們的作用也要充分考慮周全。

遊戲「華容道」的簡介及玩法

「華容道」有一個帶二十個小方格的棋盤,代表華容道。棋盤上共擺有十個大小不一樣的棋子,它們分別代表曹操、張飛、趙雲、馬超、黃忠和關羽,還有四個卒。通過移動各個棋子,幫助曹操從初始位置移到棋盤最下方中部,從棋盤下方有一個兩方格邊長的出口逃走。不允許跨越棋子,還要設法用最少的步數把曹操移到出口


依照「曹瞞兵敗走華容,正與關公狹路逢。只為當初恩義重,放開金鎖走蛟龍」這一故事情節,通過 上下或左右 移動各個棋子,幫助 曹操 從初始位置移到棋盤最 下方中部,從出口逃走。不允許跨越棋子,還要設法用最少的步數把曹操移到出口。

遊戲「華容道」遊戲技巧

早年有位中國數學教育家 - 許蒓舫先生,於1952年,在《數學漫談》書中對這個遊戲作了分析,總結出8條規則。

這8條可以歸納為以下4點:
  1. 四個小兵中,必須兩兩常在一起,不要分開。

  2. 曹操、關羽等大將移動時,前面應有兩個小兵開路。

  3. 曹操移動時後面還應有兩個小兵追趕。

  4. 以下三種狀況,其中各塊都可局部(不妨礙其他地方)任意移動。

 

 華容道的求解過程,除了找到答案外,更要找出最少步數,若能列出每一步驟所有可能狀態,並去除先前已出現過的狀態,如此一步步列出,直到找到解答即為最佳解,可嘗試列出所有可能;但幾乎很難以人工完成,為達此目的可利用"廣度優先搜尋法"來實作。

橫刀立馬

插翅難飛

層層設防 

屯兵東路

守口如瓶

水洩不通 

數學閱讀:2023年11月

身分證號碼:秘密中的秘密

在香港,每一個居民都獲發一張身分證,證上的號碼一共分為 3 個部分:第一部分是由 1 個或 2 個英文字母組成, 

第二部分是 6 個數字,第三部分是括號內的 1 個數字或英文字母 “A”。例如: “H856249(2)”。

約在 20 多年前,身分證號碼原本是沒有那個括號部分的,只是在某一年,政府替市民更換了一張「電腦化」的身分證之後,才加上這部分。當年很多人對這部分甚感興趣, 猜測那個括號中的數字究竟有甚麼意義, 亦流傳了不同的說法。不過,自從有人在一些介紹趣味數學的刊物、電腦雜誌, 或是教科書中解釋了這個數字是怎樣計算出來之後,這些猜測及傳聞便漸漸消失了。

原來,這個數字是用以下方法計算出來的:


身分證號碼的秘密


首先,我們將身分證號碼中第一部分的英文字母, 按字母的次序轉換成一個數字。例如:將 “A” 轉換成 1,“B” 轉成 2,餘此類推。然後將身分證號碼中的每一個數字(包括由字母轉換成的數字),由左至右,分別乘以 8、7、6、5、4、 3、2 等數值, 並將結果加起來。如果第一部分有 2 個英文字母, 那麼第一個字母應乘以 9, 其他數字的處理則同上。

例如:在前面提及過的身分證號碼,如果不考慮括號內的數字,應該是 “H856249”。先將 “H” 轉換成 8,然後由左

 

至右乘以上述的數值並求和, 得 218。

H     8   5 6     2 4       9

      ↓     ↓       ↓

8 × 8 + 8 × 7 + 5 × 6 + 6 × 5 + 2 × 4 + 4 × 3 + 9 × 2 = 218


跟著便可以按以下的步驟計算出括號中的數字:先將上述的總和除以 11,如果整除,那麼括號內的數字便等於 0; 如果有餘數,那麼便將 11 減該餘數,所得的差就是括號內的數字了。若差等於 10,則將括號內的數字定為 “A”。

例如:在前面的例子中,我們將 218 除以 11,得餘數 9, 所以括號中的數字便等於 11 − 9 = 2,整個身分證號碼便變成“H856249(2)” 了。

又如果身分證號碼 是 “H856049” ,那麼總和將會是 210,餘數是 1,差是 10,所以括號中的數字便是 “A” 了。


為何多此一舉?


原來身分證中的括號數字, 就是這樣計算出來的!不過,大家有沒有想過,為甚麼我們要在原有的身分證號碼後面,多加一個數字呢?將身分證號碼內的數字兜兜轉轉地計算一番,究竟有甚麼意義呢?

我曾經讀過一些文章,解釋使用括號數字的原因是為了防止非法入境者偽造身分證!文章作者表示,因為偽造身分證的歹徒並不知道身分證號碼的秘密,所以當警察在街上截查身分證時,可以通過以上的計算,分辨出身分證的真偽!

不消說,相信大家都會覺得以上的解釋荒謬之極!第一、既然我們可以知道身分證號碼的計算方法, 偽造身分證的人又怎會不知呢?第二、相信大多數人在計算上述身分證號碼的總和以及餘數時,都會利用計算機來輔助計算,我很懷疑在街上巡邏的執法人員,他們是否每一位都有如此強的心算能力,能夠即時進行上述的運算?故此, 身分證號碼中的括號數字是用來防偽的解釋,似乎並不合理。

那麼,這個數字又有甚麼用處呢?


來源:梁子傑(2008)。

數學百子櫃系列(四)談天說地話數學。

香港:教育局課程發展處數學教育組。

澳洲山火

AI打擊網絡欺凌

省力免失車

馬拉松中的數學