【数学】9801的趣闻

从最佳注脚说起

作者 万精油 

常常有人问谁是最著名的数学家?数学家著名有两种,一种是在数学圈内著名,另一种是在公众中著名(比如在中国,知道陈景润的一定比知道丘成桐的多)。上面的问题显然问的是后面那种,谁在公众中更著名。

答案是:Ted Kaczynski (中文名:卡钦斯基)

这个数学家著名不是在数学上的贡献,而是因为他搞的信封炸弹恐怖活动。他反对现代化,给宣扬现代化的人发信封炸弹,在上世纪七十年代到九十年代炸死三个,炸伤20多。那段时间,他的代号Unabomber在美国可以说是家喻户晓。不过介绍他时都说他是数学家。于是他就成了最著名的数学家。

既然是数学家,而且是加州伯克莱大学历史上最年轻的数学助理教授,数学上还是有些成就的。变狂热以前还发表过一些数学文章。

下图是一篇数学文章的一段。里面提到卡钦斯基对一个数学问题的解答。在他的名字后面有一个注脚,写的是:“别的工作更著名”。 这个注脚被许多人评为最佳注脚。

标题故事讲完了,我们来看看卡钦斯基解答的是什么样的数学题。

后面的故事要从哈代说起。哈代(Hardy) 是英国著名数学家,把印度著名数学家拉玛努贾请到英国的就是这位。哈代在一篇题为【一个数学家的道歉】(A mathematician’s apology) 的书中写道:“8712 与9801 是仅有的两个能整除它们的镜像数的四位数”。镜像数就是把这个数的所有数字反一个顺序。8712就变成2178,9801就变成1089。 哈代后来又说,这个题目意义不大,因为它没有推广空间。

\frac {8712}{2178}=4,\frac{9801}{1089}=9

顺便说一下,哈代的道歉的一个主题是,数学家追求纯粹的美,追求的很多东西几乎都没有实用价值,所以道歉。实际上,很多哈代认为没有实用价值的数学,现在都找到实际应用。比如哈代最推崇的数论,是他认为绝对不可能找到任何现实应用的数学分支,现在却已经成了我们生活中不可缺少的东西。我们现在天天用的信息加密(从手机到人造卫星上的各种应用)都需要用到数论。哈代还特别看不起应用数学,觉得它不入流,丑,而且还乏味。他这种观点在当时还有一定的代表性。他同时代的有些数学家甚至觉得自己搞的东西有了应用是一件很丢脸的事,因为那说明他们的研究不神圣了。所幸的是,这种观点现在已经过时。现在的数学家如果发现自己研究的东西有应用价值,应该是很高兴的事。

当我们说很多纯数学研究的东西找到了应用的时候,必须承认还有很多研究题目找不到应用。比如哈代的这个镜像数问题。我个人觉得这样的游戏问题不会有什么应用。当然,找不到应用并不妨碍数学家们继续研究它。实际上,那篇有最佳注脚的文章就是关于哈代的这个题目的推广。把原来的在十进制下的题目推广到任意进制。数学上的准确表达就是

k(a_hn^h+a_{h-1}n^{h-1}+…+a_1n+a_0)=a_0n^h+a_1n^{h-1}+…+a_{h-1}n+a_h
其中n\ge2,1<k<n,对于所有的i,0\le a_i\le n-1,a_0\ne0,a_h\ne0

n进制下的h+1位数,把第一位放到最后,第二位放到倒数第二,….,新数的整数k倍等于原来的数。

在十进制下,两位数,三位数都没有这个镜像数问题的解。推广后的一个问题是:是否有某个进制n,存在三位数的解,却不存在二位数的解?卡钦斯基通过一个巧妙证明,宣称任何一个三位数的解的中间那位数都是打酱油的,去掉中间那位数,就可以得到一个二位数的解。也就是说,有三位数解就必然有二位数的解。再结合前人的结果,可以证明反之亦然。

上面那篇文章除了最佳注脚,还有两个亮点。

第一个亮点是它的标题,【镜像数无道歉】(Digit Reversal Without Apology),对仗哈代那本书的名字。一方面镜像数是把对应的数字反一个顺序,他们把书名的主题也给反了。另外一方面,他们似乎想说,我们就是要研究这些没有用的东西,不道歉。

第二个亮点是,哈代的年代还没有计算机。哈代要宣称四位数中只有那两个解,必须要手工遍历所有的四位数。或许他有巧妙的办法去除大部分数,但所有数都必须考虑到,这个工作量也是不小的。我在我的【数学札记】中提到,计算机的出现对数学研究给予很大的帮助。其中一个帮助就是对一般问题搜索具体例子,从而给数学家提供新思路。哈代需要手工花大力计算的东西,计算机可以轻松解决。我们就以下面这几行MATLAB代码来结束本文。

a=(1001:9999)’; 
b=a./str2num(fliplr(num2str(a))); 
a(round(b)==b & b > 1 & b < 10)

注1:实际上没有必要搜索2000 以下的解,因为4位数的最小倍数都必须在2000以上,不过,考虑到完整性,我们从1千开始搜索。反正对计算机来说几乎都是瞬间的事。

注2:给不懂MATLAB的人解释一下,第二句就是把一个数字变成字符串,反顺序再变回字母。这一步也可以通过数学运算来做,但代码就没有这么简明了。

注3:有些对称数可以整除自己,所以排除倍数等于1的情况。结尾是0的数反转后就成了三位数,所以必须排倍数大于等于10的解。

这几行代码的结果就是

8712,9801

不到0.1秒,验证了哈代的结果。

【人物】数学家丘成桐
【数学】美国普特南数学竞赛题(4)
【数学】美国普特南数学竞赛题(3)
【文摘】数学难题汇编(18)
【文摘】大学数学竞赛题汇编(15)
【文摘】趣味逻辑学问题(10)
【数学】彭罗斯镶嵌
【书籍】《皇帝的新脑》作者:罗杰.彭罗斯
【科普】为什么地球上的生物使用左旋的氨基酸和右旋的糖分子
【书籍】今日推荐《标竿人生Purpose Driven Life》
【文摘】阿尔法狗的上帝
【文摘】大学数学竞赛题汇编(10)
【人物】Conway: 游戏人生
【文摘】数学家俱乐部
【人物】凯利:真正成功的医生,不是为了赚钱
【视频】化蝶
【数学】3x+1问题(4)

此条目发表在数学分类目录,贴了, 标签。将固定链接加入收藏夹。