南朝宋,建康城外的一间屋子里,地上摆满了小竹棍。
一根叫一,五根摆成十字叫五。把它们一行一行排开,横的代表个位、百位、万位,竖的代表十位、千位、十万位。这叫算筹。
这套记数法是当时全世界最好用的之一。它有位值,有正负,能表示分数,能做乘除开方。它没有「零」,遇到空位就留一个空档,靠位置本身表示。它的缺点只有一个:算到一半,你不能走开,也不能碰桌子。风一吹,几天的活就没了。
所以祖冲之要算的那个数,不只是脑力问题,还是体力问题、耐力问题,以及一间不许人进出的屋子。
祖冲之坐在这些竹棍前面,已经坐了很多天。
他要算一个数。这个数今天叫圆周率,写作 π,初中生按一下计算器就能得到 3.14159。
他要算到小数点后第七位。
没有纸,没有笔,没有阿拉伯数字,没有小数点,也没有计算器。他只有一双手,一堆竹棍,和一个办法。
那个办法叫割圆。
割到两万四千边
办法不是他发明的。
魏景元四年(263),刘徽给《九章算术》作注,提出了割圆术:在圆里画一个正六边形,把边数一倍一倍地加,正十二边、二十四边、四十八边……边数越多,多边形就越贴近圆,它的周长也就越接近圆的周长。
刘徽一直算到正 3072 边形,得到 3.1416。
这个结果在当时已经很好。刘徽自己也知道,继续算下去会更准,但他说了一句很实在的话:算到这个程度,已经够用了。
祖冲之决定不够用。
他把边数继续往上加。6144,12288,24576。
每加一倍,都要重新开一次平方根。开方在算筹上是最麻烦的操作:要试商、要减、要移位,一个九位数的平方根,摆开要占半间屋子。
而这不是算一次就完。整个割圆的过程里,要求出每一层的边长,都要开方;每一步的乘除,都要在竹棍上重摆一遍。到最后,他手里的数字有八九位,任何一位摆错,前面几天就白算了。
清代学者后来推算过,用割圆术算到正 24576 边形,需要对九位数进行上百次运算,其中包括多次开方。全部手工,全部用竹棍。
他算出来的结果是:圆周大于 3.1415926,小于 3.1415927。
也就是说,π 在这两个数之间。

今天我们知道 π 是 3.14159265358979……所以他给的区间,误差不到一亿分之一。
他还给了两个分数:约率 22/7,密率 355/113。
22/7 是 3.142857,粗略好用。355/113 是 3.14159292,与真值只差千万分之三。用两个都不超过三位的整数,就把圆周率逼近到这个程度。
这个分数,西方要到十六世纪才由荷兰人奥托重新求出。欧洲人叫它安托尼斯比率,也有人主张叫它「祖率」。
一个人改历
算圆周率不是他的正业。
他的正业是历法。
南朝宋用《元嘉历》,是何承天编的。用了三十多年,误差积累起来,冬至的位置对不上,日食的预报一次次偏。
祖冲之在大明六年(462)编成新历,叫《大明历》。
这部历改了三件事。
第一件,把岁差引进历法。所谓岁差,是地球自转轴像陀螺一样缓慢摆动,导致春分点每年向西移动一点点。这个现象此前中国天文学家已经察觉,但没有人把它写进计算。祖冲之测出的值是四十五年十一个月差一度。
今天测出来的值是七十一年八个月差一度。他测得偏大,但方向是对的,而且他是第一个把它当成历法必须修正的量的人。
第二件,改闰周。旧历用「十九年七闰」,十九个回归年里插七个闰月,简单,但长期累积会偏。祖冲之提出「三百九十一年一百四十四个闰月」。
第三件,他算出的回归年长度是 365.24281481 日。今天的值是 365.2422 日。差多少?一年差约五十秒。
一千五百多年前,用竹棍,差五十秒。
他在这部历里还给了别的数。交点月,也就是月亮两次经过同一黄白交点的时间,他测得 27.21223 日,今天的值是 27.21222 日。
他还测算了木、火、土、金、水五星的会合周期。这些数字在当时没有办法用仪器精密测定,只能靠几十年、上百年的观测记录反复比对。一个人一辈子能攒下的观测,其实不多;他用的是前人的记录加自己的核算。
愿闻显据
历法不是算出来就能用的。
大明六年,他把新历献给朝廷。宋孝武帝让群臣讨论。
反对最激烈的是太子旅贲中郎将戴法兴。他是皇帝身边的宠臣,管机要,说话有分量。他的理由是:古人定的历法用了几百年,你一个年轻人凭什么改?他还加了一句很重的话:诬天背经。
诬蔑上天,违背经典。这八个字在当时的份量,等于今天的「反科学」加「反传统」。
祖冲之写了一篇驳议。
那篇驳议里有八个字,后来被反复引用:愿闻显据,以核理实。
我想听到明确的证据,用来核对道理和事实。
这句话的意思是:你说的不算,我说的也不算,我们看数据。
他一条一条驳。戴法兴说冬至日影的长度古书上有定值,祖冲之就说:古书上的定值是在某地某时测的,我在另一个地方另一年测,值不一样,你必须说明用哪一个。戴法兴说天上的星象不会变,祖冲之就举出历史上几次观测记录的变化。
这场辩论祖冲之赢了道理,输了结果。
新历没有被采用。
他去世十年后,梁天监九年(510),他的儿子祖暅第三次上书,这部历才正式颁行。
从编成到颁行,隔了四十八年。
那四十八年里,他还在算别的东西。
他和儿子祖暅一起解决了球的体积。办法是一句话:两个立体,如果在每一个高度上的截面面积都相等,那么它们的体积就相等。用这句话,可以把一个算不出来的球,换成一个算得出来的立体。
这个原理,西方叫卡瓦列里原理,要等到十七世纪才由意大利人卡瓦列里提出。
祖暅把这句话写在《九章算术》的注里。今天中学课本上的球体积公式,源头在这里。
指南车与千里船
祖冲之还做机器。
他造过指南车。车上有木人,无论车怎么转,木人的手一直指向南方。这个装置汉代就有,后来失传,中间几百年不断有人重造,也不断有人造假——在车里藏一个人,偷偷转木人。
祖冲之造的是铜机传动,靠齿轮差速,不靠人。史书说他造出来的车「其制甚精」,怎么转都不差。
他造过千里船。在新亭江试航,一天走一百多里。这个船到底靠什么推进,史书没有细说,一般认为是人力踏轮。
踏轮这件事在南北朝并不稀奇,稀奇的是「日行百余里」这个数字。当时的船靠桨、靠帆、靠撑篙,一条载人的船在内河一天走五六十里是常态。要到一百多里,要么船体特别轻,要么推进效率特别高,要么两者都有。
他没有留下图纸。留下的是六个字:千里船,日行百余里。
他还做过水碓磨,用水力带动舂米和磨面;做过欹器,一种装水到一半就正、装满就翻的铜器,放在座右当警诫;改进过漏壶,让计时更准。
这些事在正史里只有几行字。
但你可以想见:一个能把圆周率算到第七位的人,去看一个齿轮的时候,看到的是齿数和转速;去看一个漏壶的时候,看到的是水压和孔径。
那本书不见了
祖冲之把数学上的成果写成了一部书,叫《缀术》。
这部书在后来的地位高得吓人。唐代国子监设算学,教材是「算经十书」,《缀术》是其中之一,而且要学四年——是十部书里学得最久的一部。当时明算科考试,《缀术》是必考。
然后它消失了。
北宋时,《缀术》已经失传。今天我们能知道的祖冲之的圆周率,不是从《缀术》里读到的,是从《隋书·律历志》里一句简短的记载中抄下来的:
「宋末,南徐州从事史祖冲之,更开密法,以圆径一亿为一丈,圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,朒数三丈一尺四寸一分五厘九毫二秒六忽,正数在盈朒二限之间。」
「以圆径一亿为一丈」——他把直径当成一亿个单位来算,这样就能用整数避开小数。
这一句,是整部中国数学史上最贵的一句话。它把一个已经消失的算法,至少留下了它的结果。
至于他到底怎么算的,用的是不是割圆术,有没有更巧的办法,今天仍然在争论。没有书,就没有答案。
书为什么会丢?一个说法是太难。唐代算学把《缀术》定为教材,学制四年,是十部算经里最长的一部,但当时就有人说这部书「莫晓其旨」——看不懂它在讲什么。一部连老师都讲不透的书,抄的人少,传的本子就少,一场战乱、一次火灾,就没了。
中国的算书大多是这个命运。《九章算术》能留下来,是因为它实用,历代都有人用;《缀术》留不下来,恰恰因为它太深。
祖冲之死在齐永元二年(500),七十二岁。
他留下的东西不多。一部历法,用了八十年;一部书,丢了;一些机器,也没了。
留下的是一串数字。
一千多年后,1967 年,国际天文学联合会把月球背面的一座环形山命名为祖冲之环形山。此前,紫金山天文台把一颗小行星命名为「祖冲之星」,编号 1888。
他算出的那个数,今天的计算机已经算到了几十万亿位。但那几十万亿位里,前面的七位,是他在一间摆满竹棍的屋子里,一位一位摆出来的。
没有别的工具。
一千五百多年里,所有在这个数上超过他的人,用的都是他之后才有的东西:阿拉伯数字、小数、笔、纸、计算器、计算机。
他只有算筹。
















