若问金庸江湖中哪套剑法最厉害,十有八九都会想到“独孤九剑”。那位俨如神话的剑魔独孤求败,终其一生欲求一败而不得,大抵是所有剑客们心向往之的至高境界。其实在数学江湖中也有一套“独孤九剑”,那便是被誉为“中国数学圣经”的《九章算术》

>>>> 

关于数学家刘徽的故事

数学江湖中的“独孤九剑”-编程之家


(一)刘徽简介

刘徽,魏晋南北朝时期人物,出生日期大约是在公元225年前后,他卒于295年,是当时世界上最杰出的数学家。他在这方面的著作,对后世数学的发展有着至关重要的影响,同时也奠定了他在数学界不可动摇的地位,也为数学界留下了最为宝贵的文化遗产。他的杰作《九章算术》和《海岛算经》,是中国最宝贵的数学遗产。


(二)个人成就

刘徽思维敏捷又刻苦好学,在数学上有着许多的成就,而这些成就大致可以分为两个方面的内容。


其一是他研究了古代中国的数学理论,从而整理出了一套数学体系,而他这方面的这就从他的数学著作中就可以看出来。他那一套比较完整的数学理论又包括了通分、约分以及各运算法则,同时又从理论方面证明了无理方根的存在;刘徽还给了率一个明确地定义,再通过“率”来定义“方程”;同时他对勾股理论也做出了一定的发展。


其二就是面积与体积理论。他提出了刘徽原理,并将多种面积或体积的问题加以解决。另外,他还在自己的著作中,给出了对幽州率的计算方法,使圆周率又成为“徽率”。


刘徽一直都在数学的海洋中遨游,不断地专研和学习,并提出新的见解和理论,对数学的发展做出了巨大的贡献。鉴于刘徽的巨大贡献,所以不少书上把他称作“中国数学史上的牛顿”。

数学江湖中的“独孤九剑”-编程之家


(三)数学家刘徽的故事

刘徽是魏晋时期有名的数学家,他在数学上有着极大的成就,在数学界中占据着极其重要的位置。他在十分简陋的环境中,冥思苦想,提出了一个又一个令人振奋的理论。接下来,让我们来看一看与刘徽有关的故事吧。

数学江湖中的“独孤九剑”-编程之家

刘徽是中国古代历史上,乃至世界知名的数学家,他通过自己不断地研究,在十分简陋的环境下,提出了“割圆术”,进而得出了更精确地圆周率。这在当时是一个十分伟大的发现,也使中国对圆周率的计算在世界上一直处于领先的地位。


刘徽在他的著作中,提出了割圆术的理论,可以利用它来计算圆周率。《九章算术》中提到“周三径一”,这句话的意思就是说圆周率的近似值为三。但是,刘徽认为这个数字太笼统,不够准确,所以指出这个数字不能作为圆周率。后来,在一次偶然的事件中,刘徽发现圆内接多边形的边数增加得越多,那么多边形的周长就与圆的周长越来越接近,这也就是割圆术的由来了。利用割圆术,刘徽从圆内接正六边形开始切割,然后就是十二边形等一直计算下去,直到计算到九十六边形为止,能够得出的圆周率的近似值是3.14。然而刘徽对此并不满意,他后来又继续深入计算,得出了当时世界上最精确的圆周率为3.1416。


刘徽是一个伟大的数学家,他在数学上的成就对后世数学的发展,形成了十分深远的影响。

(四)刘徽在海岛算经

刘徽是实至名归的世界数学界的泰斗,他利用了各种优秀的理念,使传统数学得到了转变,数学研究也步上了一个新的台阶。他留下的数学著作对数学界来说是珍宝一般的存在,《海岛算经》就是其中的一部。

数学江湖中的“独孤九剑”-编程之家

263年,刘徽著作了《九章算术注》,而《海岛算经》就是其中的第十卷。直到唐朝时,《海岛算经》才开始单独作为一部著作出现。这部书是中国最早的一部测量学著作,测量的都是与高和距离的问题。因此,有人说它是三角法的起源,但这其中并未涉及相关的理论和知识点。这部书一共有九个关于测量计算高远深广的问题,且都是采用表尺从不同的位置测望,然后取得这些测望值的差距,通过这些差距再来计算山高等距离问题。而在这些计算中,所运用的方法是筹算。因为这些问题中的第一个问题与海盗有关,所以这部书被取名为《海岛算经》。

这部书,在唐初时单独成册,后来又被收录进了一部百科全书式的文献集中。幸运的是,经历了千年的颠簸,这部书没有消逝在时间的长河里,如今被妥善的保管着。遗憾的是,虽然这部书没有失传,但是却没能留存于国内,而是被保存于英国剑桥大学图书馆。

有人曾指出,《海岛算经》让中国的测量学达到了巅峰,其测量术比欧洲早了整整一千四百年左右,可见古代中国测量学的先进。


(五)九章算术

《九章算术》作者不详,师承不明,无门无派,身世神秘,仿佛天外飞仙般突然降临江湖,一出现便惊艳了众生,引得历代名家尽折腰,甘愿殚精竭虑,纷纷为之作注,九章之学,遂成大宗。

剑有剑招,算有算题,“独孤九剑”须得从一招一招练起,《九章算术》也得从一题一题做起。整部《九章算术》说到底就是一本算题集,共列举了二百四十六道算题,每题皆有问有答有解。这又好比二人对剑,一人出招,一人接招,至于如何见招拆招,则全赖“九术”之妙用。

看来欲有所进境,是非动手不可了。不妨就从每章各抽一题,以期略尽管窥之责。

箕田求积

今有箕田,舌广二十步,踵广五步,正从三十步,问为田几何?(方田章)

这正是方田术最擅长的面积计算问题,由于常跟“田”打交道,故而“田”也就自然成为了各类图形的代称,诸如:“方田”指矩形,“圭田”指等腰三角形,“邪田”指直角梯形,“箕田”指等腰梯形,“圆田”指圆形,“宛田”指球冠形,“弧田”指弓形,“环田”指环形等等。不同的“田”有不同的面积计算公式,遂又衍生出种种专语,诸如:“广”为长,“从”为宽,“正从”为高,“舌”为上底,“踵”为下底,“周”为周长,“径”为直径等等。通晓了这些行话般的代称专语,修炼起方田术来,才能事半而功倍。

数学江湖中的“独孤九剑”-编程之家

箕田术示意图

本题所求为箕田面积,“箕田术曰:并踵舌而半之,以乘正从”,翻译过来即:

等腰梯形面积=1/2×(上底+下底)×高

这个公式是不是很亲切?遥想幼学当年,稚气犹未了,强记硬背,百遍后,倒也滚瓜烂熟。在此直接套用即可:


箕田面积=1/2×(20+5)×30=375步

汉制二百四十步为一亩,故答曰:“一亩一百三十五步。”

以粟换米

今有粟一斗,欲为粝米,问得几何?(粟米章)

国以农为本,民以食为天,粮食在古代不但是赋税的大宗,交易时更堪比金银等硬通货,因此粮食的兑换和折算问题,一直是朝廷和官府的头等大事。〈粟米章〉开篇就明示“粟米之法”,列出了二十种谷物及米饭的换算比率,相当于一份汉代的粮食换算表,即以本题而言,粟率五十,粝米率三十。

粟是中国北方主要的粮食作物,俗称“谷子”,去壳后俗称“小米”,粝米就是糙米。本题的意思是,根据“粟米之法”所列的比率,问一斗谷子能换多少糙米?

那么,具体该如何换算呢?这就要借助“今有术”。所谓“今有术”,其实就是四项比例算法,因每问开头常冠以“今有”二字,故得此诨号。其修炼口诀曰:“以所有数乘所求率为实,以所有率为法,实如法而一。”以公式表示即是:

所求数=所有数×所求率/所有率

本题是以粟来兑换粝米,粟数为所有数,粝米数为所求数,粟率为所有率,粝米率为所求率。依今有术之法:

粝米数=粟数×粝米率/粟率=1斗×30/50=0.6斗

汉制十升为一斗,故答曰:“为粝米六升。”

五爵分鹿

今有大夫、不更、簪袅、上造、公士,凡五人,共猎得五鹿。欲以爵次分之,问各得几何?(衰分章)

古代以爵级为赐,大夫、不更、簪袅、上造、公士都是战国之初已有的官爵名称,爵数各有等差,依次为大夫五,不更四,簪袅三,上造二,公士一。本题要求将猎得的五只鹿,按爵级予以赏赐,分配比例即为爵数,问五爵各得多少?

今有术解决的虽是按比例交换问题,但同样可以适用于此处的按比例分配问题,由此便形成了衰分术。衰(cuī)即差别之意,衰分即按差别来分配。本题所给出的算法是:“列置爵数,各自为衰,副并为法。以五鹿乘未并者各自为实,实如法得一鹿。”

所谓“列置爵数,各自为衰,副并为法”,就是把分配比例依次列出,以各率相加之和作为除数:

5:4:3:2:1

5+4+3+2+1=15

所谓“五鹿乘未并者各自为实,实如法得一鹿”,就是用五鹿之数乘以五爵各自在分配总率中所占的比例,即可求得各自应得鹿数:

大夫应得鹿数=5鹿×5/15=1又2/3鹿

不更应得鹿数=5鹿×4/15=1又1/3鹿

簪袅应得鹿数=5鹿×3/15=1鹿

上造应得鹿数=5鹿×2/15=2/3鹿

公士应得鹿数=5鹿×1/15=1/3鹿

故答曰:“大夫得一鹿三分鹿之二,不更得一鹿三分鹿之一,簪袅得一鹿,上造得三分鹿之二,公士得三分鹿之一。”

本题中还涉及到了分数运算法则,这在〈方田章〉中有更为详尽的论述,包括约分(分数化简法)、合分(分数加法)、减分(分数减法)、乘分(分数乘法)、经分(分数除法)、课分(分数比较大小)、平分(分数求平均值)及大广田(带分数乘法)——千万别被它们古奥的名字唬住,其实都不过是最基本的分数加减乘除四则运算罢了,当代的初中生人人皆会。

积步开方

今有积五万五千二百二十五步,问为方几何?(少广章)

少广术是已知面积或体积,而反求边长,相当于方田术和商功术的逆向运算,这就必然会涉及到开平方和开立方的问题。《九章算术》的开方术极为精彩,采用数形结合的方法,根据几何上“出入相补”的原理,“析理以词,解体用图”,显示了中国传统数学的特色,开创了后来开更高次方和求高次方程数值解之先河。特别令人惊异之处,是指出了存在有开不尽的情形,“若开之不尽者,为不可工”,并给这种不尽根数起了一个专门的名字——“面”。

本题是一道简单的开平方题,欲求55225的平方根。《九章算术》用的是古老的算筹,先摆出开方数式,再通过移动算筹而借位,比之普通的加减乘除四则运算要复杂得多。本题答曰:“二百三十五步。”

数学江湖中的“独孤九剑”-编程之家

阳马求积

今有阳马,广五尺,袤七尺,高八尺。问积几何?(商功章)

阳马不是马,而一种特殊的锥体,本题所要求的就是这种锥体的体积,这正是商功术的看家本领。在动手计算之前,先得介绍一下立体图形家族的诸位成员。

最熟悉的当然是长方体,在家族中排行最大,辈份最高,许多锥体和柱体都是由它演变而来的。

将长方体沿对角面斜分为二,得到两个一模一样的三角棱锥,称为“堑堵”,其体积是长方体的一半。

数学江湖中的“独孤九剑”-编程之家

堑堵

再沿堑堵某一顶点与相对的棱剖开,得四角棱锥和三角棱锥各一个。四角棱锥以矩形为底,另有一棱与底面垂直,称为“阳马”;余下的三角棱锥是由四个直角三角形组成的四面体,称为“鳖臑”(biē nào)。

数学江湖中的“独孤九剑”-编程之家

合两鳖臑而成一阳马,合三阳马而成一立方。故本题解法是:“广袤相乘,以高乘之,三而一。”也就是以阳马矩形底面的长乘以宽,再乘以阳马的高,得出未剖分前长方体的体积,除以三即为阳马的体积。答曰:“九十三尺少半尺。”

商功术天天应对的都是建房、造屋、筑城、修堤、挖沟、开渠等土木水利工程问题,所遇到的怪咖自然不止以上几位,还有“刍童”、“刍甍”、“曲池”、“盘池”、“冥谷”等等。“刍童”指的是上下底皆为矩形的拟柱体,刍甍指的是上底为一棱、下底为一矩形的拟柱体,至于“曲池”、“盘池”、“冥谷”则都是长方台体,计算方法大同小异。

数学江湖中的“独孤九剑”-编程之家

四县均输

今有均输粟,甲县一万户,行道八日;乙县九千五百户,行道十日;丙县一万二千三百五十户,行道十三日;丁县一万二千二百户,行道二十日,各到输所。凡四县赋,当输二十五万斛,用车一万乘。欲以道里远近、户数多少,衰出之,问粟、车各几何?(均输章)

所谓“均输”,就是平均分配运输负担。本题中县户有多少之差,行道有远近之异,欲其均等,故各令行道日数约户为衰分,行道多者少其户,行道少者多其户。

甲县衰分=10000户/8日=125

乙县衰分=9500户/10日=95

丙县衰分=12350户/13日=95

丁县衰分=12200户/20日=61

已知衰分,就可以运用前已熟悉的衰分术,很容易地计算出各县当输的粟数和当用的车数了,答曰:“甲县粟八万三千一百斛,车三千三百二十四乘。乙县粟六万三千一百七十五斛,车二千五百二十七乘。丙县粟六万三千一百七十五斛,车二千五百二十七乘。丁县粟四万五百五十斛,车一千六百二十二乘。”

这只是均输术最正经的应用,事实上,它还可以解决一些不大重要却很有趣的小问题,例如数学史上著名的“凫雁相逢”问题:

今有凫起南海,七日至北海;雁起北海,九日至南海。今凫雁俱起,问何日相逢?(均输章)

凫即野鸭,雁即大雁,野鸭从南海飞到北海需要七天,大雁从北海飞到南海需要九天。野鸭和大雁同时分别从南海和北海出发,问多少天可以相遇?

数学江湖中的“独孤九剑”-编程之家

凫雁相逢

本题虽然简单,却包含了均输术中的时日、路程、速度等几乎所有的元素,是典型性非典型题,反映了中国古代在处理与比例分配相关的分数运算时的基本思维——“齐同”,化异分母为同分母叫“同其母”,要保持分数值不变,还必须“齐其子”,母同子齐以后才可以进行加减运算。所以,“凫雁相逢”的解法是:“并日数为法,日数相乘为实,实如法得一日。”也就是说,以各自需要的天数之和为除数,以各自需要的天数之积为被除数,这样就得到日数。答曰:“三日十六分日之十五。”

人共买物

今有共买物,人出八,盈三;人出七,不足四。问人数、物价各几何?(盈不足章)

题目意思是几人合买一物,每人出钱八块,则多三块,是为盈余;每人出钱七块,则少四块,是为不足。问人数和物价各是多少?

这是典型的盈不足问题,自然必须用盈不足术。盈不足术跟衰分术一样,也是由今有术衍生而来。由于往往要面对盈和亏两种情形,需要通过两次假设来求得结果,所以在欧洲又被称为“双假位法”,亦译作“迭借互征”。盈不足术能处理各种隐而不见、杂乱无章的数量关系问题,因此又被誉为“万能算法”,称霸数坛。

《九章算术》所给出的盈不足术公式相当繁复啰嗦,反而刘徽的注更为简捷,在此无暇赘述,还是直奔主题为上。

首先计算人数。每人两次出钱,相差为8-7=1,这是所谓“一人之差”。而“盈不足为众人之差”,也就是说由于每人两次出钱都差一点,导致了最后有3个“众人之差”,大家相差的就是盈余的3块钱和不足的4块钱之和,“众人之差”是7块钱。“以一人之差约众人之差,故得人数也”,以7除以1,即得知人数是7人。

数学江湖中的“独孤九剑”-编程之家

再来计算物价。每人出钱8块,买1物,多钱3块;若买4物,则需出钱8×4=32块,多3×4=12块。每人出钱7块,买1物,少钱4块;若买3物,则需出钱7×3=21块,少4×3=12块。两次盈亏等同,可以互相抵消。两次出钱之和=8×4+7×3=53块,共计买得4+3=7物。前已算得人数是7人,可知物价是53块钱。故答曰:“七人,物价五十三。”

∑编辑 | Gemini

来源 | 校苑数模

数学江湖中的“独孤九剑”-编程之家

算法数学之美微信公众号欢迎赐稿

稿件涉及数学、物理、算法、计算机、编程等相关领域

经采用我们将奉上稿酬。

投稿邮箱:math_alg@163.com