《华尔街日报》上的《麻将的模块化方法》
Eugenia Cheng
插图: Tomasz Walenta我和家人一起打麻将迎接新年。我们玩的版本是由一个人掷三个骰子,然后从四个玩家的桌子周围开始计数,直到总数为止。你从“一”开始数,有一些口头禅是我从小就学会的,是从我的祖父母那里传下来的,包括“九自己”和“十三自己”。如果你在骰子上掷出一个较大的数字,这样可以避免一直数到最后。我现在知道这实际上是数学的一部分,叫做模算术。
有时它被非正式地称为时钟算术,因为它就像我们报时一样:当我们到12点时,我们又从1开始,所以13就“相当于”1,14就“相当于”2,依此类推。这被称为“模12”算术,但我们可以用任何数字代替12。
对于麻将来说,它是模4的,因为在四个玩家周围数完后,你又回到了自己,所以5和1是同一个人;同样地,9、13和17也是。如果我们使用24小时制,我们进行的是模24的算术,而不是12。一周的天数就像模7的算术,尽管我们不用数字来命名它们;音符也是一样,用字母A到G来命名。
模算术是余数的算术,因为我们基本上是在做除法,然后只关心余数是多少。带余数的除法通常是小孩子在接触分数之前学习除法的方式,乍一看,分数可能看起来是一种更复杂的工具。毕竟,分数使我们能够将任何数除以任何其他数(除了零)而不会有剩余。
然而,模运算出奇地强大,尤其是对于密码学和其他计算机用途。国际标准书号(ISBN)使我们能够通过一个代码识别每一本出版的书。目前使用的代码有13位数字,最后一位是“校验位”,使用模运算计算得出。具体来说,校验位是通过将第一位数字相加,然后将第二位数字乘以三,然后是第三位数字,然后是第四位乘以三,依此类推直到第12位数字;然后校验位就是使总和为零,或者模10没有余数的任何数字。这个想法是,当你在计算机中输入ISBN时,它可以通过进行这个计算快速检查你是否有输入错误,并在总和有余数时标记任何错误。这并不是一个完全防错的检查设备,但它将捕捉到单个数字错误和大多数涉及两个相邻数字的转置的错误。
我有时会将模10算术作为一个基本的错误检查工具。我通常在手机计算器上或者电子表格上加数字,但如果我想对答案进行一次理智检查,我可能会将所有最终数字相加,然后检查结果的最后一位。由于我们用十进制表示数字,一个数字的最后一位对应于它对10取模的结果,所以我本质上是在做模10算术来检查我的答案。与ISBN检查码一样,这并不是绝对可靠的,但比不做任何检查要好。
密码学需要一个更复杂的系统,以便某人实际上可以对信息进行编码和准确解码,而不仅仅是对其有效性进行基本检查,但是许多这些系统仍然是从模运算理论开始的。我喜欢纯数学涉及对一个简单想法的巧妙运用,比如模运算,这对一个孩子在玩家庭游戏时来说是足够简单的。