这道来自两千五百年前的数学题你会解吗?

钱越说史 2021-05-12 17:21:10

作为四大古国中唯一绵延至今的文明,中国在很多方面都取得了不小的成就,于数学上同样如此。从先秦时期直至16世纪,中国古典数学先后经历了数次发展高潮,并在在宋元时期达到顶峰。

鸡兔同笼

与以证明定理为核心的、以古希腊为代表的西方古典数学不同,中国古代数学是以创造算法特别是各种解方程的算法为主线。“鸡兔同笼”就是其中的经典之作。《左传》这部现存最古老的编年体断代史,在中国历史上有着重大意义,它那内容丰富的详实的史料,多方位的向我们展示了春秋时代古人的生活情况,里面自然也涉及到数学方面。今天我们来看一道出自《左传》的趣味数学题。

起因:

前544年,“杞人忧天”中的那个杞国迁都淳于(今山东潍坊市坊子区黄旗堡街道杞城村,本为州国都城,杞国迁都于此后又称淳于国),惜乎自己国小力弱一时无法完成城防修筑,便向霸主晋国提出协助筑城请求。

杞人忧天

那么晋国会为这么个芝麻大小,无论得失于晋国霸业无多大影响的诸侯国出人出力吗?

答案是:会!

因为晋平公的母亲晋悼夫人是杞孝公之女。常言道女生外向,有“嫁出去的女儿泼出去的水”之说,可事实上由于女性的情感更细腻,出嫁的女性对于娘家的原远强于身在外地的男性,常常会愿意在力所能及的情况下出力帮助娘家。这一点古今如一。

有晋悼夫人从中转圜,晋平公很快便同意发动协助杞国修筑淳于城。

前544年六月,有下军佐智盈领衔,会同齐国高止、宋国华定、鲁国仲孙羯、卫国太叔仪、郑国公孙段(字伯石,子石),及曹、莒、滕、薛、小邾之大夫,动用十一国劳役共同为杞国筑城。

原题:

(鲁襄公三十年,前543年)二月癸未(二十二日),晋悼夫人赐给修筑杞国城墙的役卒吃饭。绛县有一个年纪很大的老人,由于没有儿子被征调去筑城,因此也参加了宴会。有人怀疑他的年龄,让他谈谈自己的年龄。他说:“臣小人也,不知纪年。臣生之岁,正月甲子朔,四百有四十五甲子矣,其季于今三之一也。”

问:绛县老者年龄几何?

三种解题思路:

官吏无法解答,遂跑去询问朝堂的衮衮诸公。

师旷比较靠谱,直接给出了计算过程及答案:“鲁叔仲惠伯(叔彭生)会郤成子(郤缺)于承匡之岁也。是岁也,狄伐鲁。叔孙庄叔于是乎败狄于咸,获长狄侨如及虺也豹也,而皆以名其子。七十三年矣。”

师旷

史赵就比较诙谐了,直接来了个以谜题对谜题:“亥有二首六身,下二如身,是其日数也。”

一旁的士匄(士弱之子,字伯瑕,谥文,世称士文伯,士伯瑕)根据史赵报出了答案:“然则二万六千六百有六旬也。”

这几位大夫说得过于文雅,且解题过程涉及到大量的传统历法知识,故而这解题思路可谓是很难看懂,通读下来可能也就知道这老人现在已有七十三岁,但想要知其所以来,就接受无力了。至于关于老人到底已经活了多少天的计算,不说说知其所以来,连想要知其来都难以做到。

六十甲子图

所以最好的办法是把它搞成白话文,如此才能破解这个有趣的猜字游戏。

不过在此之前,我们先要学习一下中国古代的历法知识:

一、题干中的“甲子”是指甲子计时法,它是将十天干与十二地支两两配对,组成一个始于甲子,终于癸亥,共计六十组的干支组合,以起始组合命之为“甲子”。它既可以用于计年,也可以用于计日,还可用于计月(这种用得比较少,大多用于排八字)。不管是计年还是计日,都是以六十为一轮,周而复始的循环使用。故常称六十年为一甲子。

二、鲁国用的是周历,而晋国用的是夏历,周历建子,以冬至所在的月为正月;夏历建寅,以冬至后第二个月为正月,两者相差两月。

三、古代以十天问一旬,这一点现在还在用,不管是公历、还是夏历,我们通常把每月的前十天称为上旬,中间十天称为中旬,剩下的不管够不够十天都称为下旬。

白话解题过程:

前提条件给完,下面便是解题的过程:

1、根据鲁国、晋国所用历法的不同,可以推算出鲁襄公三十年(前543年)二月癸未,为晋平公十四年十二月癸未。即此时鲁国已经过年,而晋国还在年前。

2、用于计日时,一个甲子是六十天,则题干中的四百四十五个甲子为二万六千七百天。其季指最后一个甲子,即第四百四十五个甲子。所以“其季于今三之一也”,也就是最后一个甲子日到现在已过去过去三分之一,也就是二十天。

3、“鲁叔仲惠伯会郤成子于承匡之岁”,在鲁文公十一年。《春秋》“十有一年……夏,叔仲彭生会晋郤缺于承筐。” 此年,在周历为鲁文公十一年一月至十二月,在夏历为晋灵公四年十一月至晋灵公五年十月。老人称自己出生在“正月甲子朔”,所以其生年必定是晋灵公五年。古人论虚岁,晋灵公五年(前616年)出生到晋平公十四年(前544年),正好是七十三岁。

杜预

4、按杜预的《春秋长历》推算,鲁文公十一年三月正好为甲子朔,所以上述第3条推算正确。

5、史赵的这个说法由于涉及到文字的变易,所以现在已经很难解读,不过可以肯定的是必定符合“亥”字在晋国的写法与筹算之间的关系。

6、士匄答案中的“二万六千六百”指天数,而“六旬”换算成天数则为六十天,故老人已活了二万六千六百六十天,这符合第2条的推算。

只能说这帮子晋国人太过无聊,一定要废儿吧唧通过文字游戏,告诉我们一个两千多年前的孤寡老头出生于晋灵公五年正月初一,今年已七十有三,到晋平公十四年十二月二十二日这天已活了二万六千六百六十天。

古者人到七十古来稀,长寿老人历来被视为祥瑞,晋国执政赵武(赵氏孤儿原型,赵文子)对老人被征发劳役有些许不满,便问向他人问起老人所属的县大夫姓甚名谁,结果尴尬的发现竟然是自家的直属下属。

于是赵武召来老人,亲自向他赔礼道歉道:“武不才,受国君之命担任重要职责后,由于国家多有大事,故而没能关注、任用您,让您长期辱居草野,这是武的罪过。谨此向您道歉!”

赵武剧照

随即打算任他为官,辅佐自己执政。

老人以年老辞谢。

赵武遂取其中,给予老人田地,任命他为绛县师,负责主持免除徭役的事务,并将征发他的舆尉就地免职。

2 阅读:280

钱越说史

简介:一起聊聊趣历史