你能数到几?
有这么一个故事:两个匈牙利贵族在玩一场游戏,谁说出的数字大,谁就获胜。
其中一位说:“你先说一个数字吧。”
冥思苦想了几分钟后,对方终于说出了他能想到的最大的数字。“三。”他说道。
现在轮到另一位贵族冥思苦想了,但过了一刻钟,他决定放弃。“你赢了。”他认输。
当然,这个故事也可能只是随意杜撰的,但如果那两人不是匈牙利人,而是霍屯督人,这样的对话是有可能真实发生的。据传,许多霍屯督部落的词汇中都没有大于三的数字名称。询问当地人他有多少儿子,或杀死了多少敌人,如果人数超过三个,他就会回答“很多”。因此,在霍屯督人的部落,哪怕是骁勇善战的武士,数起数来都不及能数到10的幼童!
如今,我们已经习惯于一个想法,即我们可以随心所欲地写出越来越大的数字(无论是以“分”为单位的战争支出,还是以“英寸”为单位的星际距离)——只需在数字右边加上足够的零即可。只要你不累,你可以一直写下去,但很快,你笔下的数字就会超过宇宙[1]中的原子总数了:
300 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0 00 000 000 000 000 000 000 000 000。
或者,你可以使用简写的形式:3×1074。
右边的10上方的小数字74表示必须写出这么多个零,或者换句话说,必须让3乘以10且要乘74次。
但这样的“简易算术”系统在古代并不为人所知。实际上,它是在不到2 000年前由一位不知名的印度数学家发明的。在这项伟大发明之前(绝对称得上伟大,虽然我们常常会不当回事),人类在书写今天所称的十进制数字时,要重复每个数位所对应的符号。比如,古埃及人是这么写数字8 732的:
![]()
恺撒朝廷的书记官是这么写的:
MMMMMMMMDCCXXXII
后面几个符号你一定不陌生,时至今日,在表达书中的第几章第几卷时,或在言辞浮夸的纪念牌匾上注明历史事件的日期时,我们仍会偶尔使用这些罗马数字。但是,古代的计数需求不会超过几千,因此不需要更高位数的符号,古罗马人不论在算术方面有多么训练有素,如果你让他写出“一百万”来,他一定会尴尬不已。他要写出一千个M,为此,他要辛苦很长一段时间(图1-1)。

图1-1 一位貌似奥古斯都·恺撒(Augustus Caesar)的古罗马人在试着用罗马数字写出“一百万”。整面墙几乎还写不下“十万”
对于古代人,数量太多的东西,例如天上的星星、海里的鱼,或沙滩上的沙粒都是不可计数的,就像对霍屯督人而言,“五”是不可计数的一样——你问他们,他们只能回答:“很多!”
凭借公元前3世纪的著名科学家阿基米德的天才头脑,人类才得以写出非常庞大的数字。阿基米德在其专著《沙粒计算》中写道:
“有人认为沙粒的数量是无限的。我所说的沙粒不只是锡拉库萨和西西里其他地区的沙粒,也包括地球所有地区可能发现的一切沙粒,不论当地有无人类居住。也有人认为这些沙粒的数量虽然不是无限的,但没有任何数字足以表达如此庞大的数量。显然,如果要在整个地球的体积(包括地球的所有海洋和所有空洞,以及所有大山)中塞满沙粒,并说出这些沙粒的数量,他们一定会更加确定你永远找不到一个数字来表示它。但我将尝试表明,只要使用我命名的数字,不仅能表示装满整个地球的沙粒的数量,甚至能表示装满整个宇宙的沙粒的数量。”
阿基米德在这部著名作品中提出的撰写庞大数字的方式与现代科学采用的方式很像。他先找来了古希腊算术中存在的最大数字单位:“万”。然后引入了一个新数字“万万”,他称之为“亿”或“二级单位”。以此类推,“亿亿”被称为“三级单位”,“亿亿亿”被称为“四级单位”,等等。
今天看来,我们似乎没有必要在一本书里花几页篇幅介绍庞大数字的由来,但在阿基米德的时代,找到一种撰写庞大数字的方法是一个伟大的发现,也是数学这门学科向前迈出的重要一步。
要算出能填满整个宇宙的沙粒总数,阿基米德必须知道宇宙有多大。在他所处的时代,人们认为宇宙被一颗水晶球环绕着,星星就固定在水晶球表面,据同时期的著名天文学家阿利斯塔克估算,从地球到该天体球面的距离为10 000 000 000个视距[2],即大约1 000 000 000英里[3]。
阿基米德将球体大小与沙粒大小进行了比较,并完成了一系列计算,这些计算堪称高中生的“噩梦”,他最终得出了以下结论:
“显然,基于阿利斯塔克估计的天球体积,在其中装满沙粒后,沙粒的总量将不超过一千万个八级数字单位。”[4]
读者可能注意到了,阿基米德对宇宙半径的估计远小于现代科学家的估计。十亿英里的距离才刚刚超出太阳系中的土星轨道。我们会在后文中看到,如今,人类已经利用望远镜将宇宙的半径扩充到了5 000 000 000 000 000 000 000英里,因此,填满可见宇宙所需的沙粒总数将超过10100(即1后面有100个零)个。
当然,这个数字远大于前文所述的宇宙中的原子总数3×1074,但别忘了,宇宙中并不是塞满原子的。实际上,平均每立方米的空间内只有约1个原子。
不过,要得到非常庞大的数字,根本不需要做什么把宇宙塞满沙粒这样的蠢事。实际上,此类数字经常出现在一些非常简单的问题当中,乍看之下,我们完全不会想到那样的问题会涉及比几千更大的数字。
印度的舍罕王就是一位庞大数字的受害者。据一个古老传说所言,舍罕王的宰相西萨·班·达依尔发明了国际象棋,并献给了舍罕王,舍罕王想赏赐一下他。
那位聪明的宰相看似非常谦逊,他跪在国王面前说:“陛下,请在棋盘的第一格放一粒小麦,在第二格放两粒小麦,在第三格放四粒小麦,第四格放八粒小麦。就像这样,哦,陛下,每一格都放上数量加倍的小麦,请赏赐我填满64个格子的小麦(图1-2)。”

图1-2 数学家、宰相西萨·班·达依尔向印度舍罕王寻求赏赐
“你要求不高,我忠实的仆人,”国王大声说道,并窃窃自喜,他以为不会为这个神奇游戏的发明者割舍太多财富。“我当然会满足你的心愿。”国王“大方”地说。开始计数后,第一格分配一粒麦子,第二格分配两粒,第三格分配四粒,依此类推,第20格还没填满,袋子已经空空如也了。
更多小麦被抬上朝堂,但之后的每一格要分配的小麦数量增长得如此之快,很快,显而易见的是,哪怕交出印度所有的麦子,国王也无法兑现对达依尔的承诺。因为他总共要付出18 446 744 073 709 551 615粒麦子![5]
这个数字没有宇宙中的原子数量大,但它仍是一个天文数字。假设一蒲式耳[6]的小麦约有500万粒,那么,满足达依尔的要求需要约4万亿蒲式耳小麦。鉴于当时全球平均年产量约20亿蒲式耳,因此,宰相所求的大约是两千年的全球小麦总产量!
另一个以庞大数字为主线的故事也发生在印度,这个故事与“世界末日”问题有关。下面的叙述来自热爱数学的历史学家鲍尔[7]:
在标志世界中心的贝拿勒斯神庙穹顶下方,安放着一块黄铜板,上面固定着三根金刚针,每根高1腕尺(1腕尺等于约20英寸),粗细与蜜蜂腹部相当。创造之时,梵天在其中一根针上放了64张金片,最大的金片紧贴黄铜板,其他金片依次缩小,直至顶尖。这就是梵天塔。不分昼夜,值班的僧侣都要依照梵天恒久不变的法则将这些金片从一根金刚针移到另两根金刚针上,规则要求僧侣一次只能移动一张金片,且在移动时,不能将大金片放在小金片上方。当所有64张金片都从梵天放置的那根针上移到另外两根的其中一根针上时,梵天塔、神庙和众生都将化为灰烬,世界也将在一声霹雳中毁灭。
图1-3是对故事场景的描绘,只是画出的金片数量不够。你可以自己制作出相应的玩具,用普通的硬纸板代替印度传说中的金片,用长铁钉代替金刚针即可。你不难总结出移动金片的基本规则,你会发现,每张金片都需要相当于前一张金片两倍的移动次数才能形动到位。第一张金片移动到位只需一步,接下来的金片所需的移动次数会以几何级数增加,到第64张金片时,其移动次数将与达依尔要求的小麦数量一样多![8]

图1-3 一位僧侣在巨大的梵天像前研究“世界末日”问题
那么,将梵天塔中的所有64张金片从一根针移到另一根针上需要多长时间呢?平均一年有大约31 558 000秒,假设僧侣昼夜不眠,假日无休,且每秒能移动一次,完成这项工作将需要5 800亿年。
将这种关于宇宙未来寿命的传说预言与现代科学的预言加以比较是很有趣的。据当前的宇宙演化理论,恒星以及行星是在约30亿年前由没有形状的物体演化而来的。我们还知道,为恒星(特别是为我们的太阳)提供能源的“原子燃料”还能消耗100亿~150亿年(请参阅“创世纪”一章)。由此算来,我们宇宙的总生命周期势必短于200亿年,远没有印度传说估计的5 800亿年那么久!但那毕竟只是传说!
有史以来,文学中提到的最庞大的数字大概与著名的“印刷行数问题”有关。假设我们制造一台印刷机,它能持续不断地印刷,且每一行都能自动采用不同的字母与印刷符号的组合。这台机器由许多单独的印盘组成,印盘的轮廓上刻有字母和符号。印盘的咬合方式与汽车里程表中的数字盘类似,当每只印盘转完一整圈后,旁边的印盘会转动一格;而印盘每转动一下,来自卷筒的纸张就会自动压到滚筒上,进行印刷。这样的自动印刷机不难打造,其外观大致如图1-4所示。

图1-4 一台恰好印出一行莎士比亚诗句的自动印刷机
我们让机器运转起来,并查看印刷机印出的没完没了的句子。大多数句子都没有任何意义,比如这样:
“aaaaaaaaaaa……”
或这样:
“boobooboobooboo……”
或这样:
“zawkporpkossscilm……”
不过,由于这台印刷机会打印出所有可能的字母和符号组合,我们会在无意义的垃圾中发现各种有意义的句子。当然,其中也会有很多说不通的句子,例如:
“马有六条腿……”或“我喜欢用松节油烹制苹果……”
但只要仔细搜索,我们也会从中发现莎士比亚全集中的每一个句子,甚至包括他本人丢入废纸篓的那些句子!
实际上,这样的自动印刷机可以印出人们掌握书写能力后所写的一切内容:每一句诗词歌赋、报上的每一篇社论和广告、每一卷烦琐的科学论文、每一封情书,以及写给送奶人的每一张感谢函……
不止如此,这台机器还能印出未来几百年将被印出的所有内容。在滚筒转出的打印纸上,我们将能找到30世纪的诗歌,未来的科学发现,美国第500届国会上的演讲以及关于2344年的一起行星交通事故的记录。里面会有大量短篇小说和长篇小说的页面,那些尚未书写的故事都在里面。出版商地下室里如果有一台这样的机器,他们只需在大量无效文字中选择和编辑好作品即可——和他们现在所做的没什么两样。
那么,为什么不可能做到这些呢?
来,我们计算一下,要想打印出一切可能的字母和符号组合,这台机器一共要打印多少行。
英文字母中有26个字母,10个数字(0,1,2,…,9)和14个常用符号(空格、句号、逗号、冒号、分号、问号、感叹号、破折号、连字符、引号、撇号、方括号、小括号、花括号),加起来共有50个字符。我们假设该机器有65张印盘,对应每一个印刷行平均的65个字符。印刷行可以上述任何字符开头,因此有50种可能性。对于这50种可能性,每种可能性的第二格又有50种可能性,也就是50×50=2 500种可能性。而对于前两个字母的每个既定组合,在第三格又有50种可能性,依此类推。整行可能的组合总数可表示为:
![]()
为了让大家感受一下这个数字有多庞大,我们假设宇宙中的每个原子都代表一台单独的印刷机,这样,我们就有3×1074台机器在同时工作。进一步假设,自宇宙诞生以来,所有这些机器都在持续工作,那它们已经工作了30亿年,即1017秒。这些机器正以原子振动的频率打印,每秒可打印1015行。那么,到现在为止,它们已经打印了3×1074×1017×1015=3×10106行,这只是上面组合总数的
。
没错,要对所有这些自动打印材料进行任何形式的挑拣,都要耗费相当长的时间!