qantas中国官网:孙子算经

来源:百度文库 编辑:偶看新闻 时间:2024/03/29 09:36:45
  《孙子算经》成书於公元四-五世纪,作者生平和编写年代都不清楚。现在传本的《孙子算经》共三卷。卷上叙述算筹记数的纵横相间制度和筹算乘除法则,卷中举例说明筹算分数算法和筹算开平方法。卷下第31题,可谓是后世鸡兔同笼题的始祖,后来传到日本,变成“鹤龟算”。   书中是这样叙述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔?   具有重大意义的是卷下第26题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?答曰:『二十三』”。  《孙子算经》不但提供了答案,而且还给出了解法。南宋数学家秦九韶则进一步开创了对一次同余式理论的研究工作,推广“物不知数”的问题。   德国数学家高斯﹝K.F. Gauss.公元1777-1855年﹞于公元1801年出版的《算术探究》中明确地写出了上述定理。公元1852年,英国基督教士伟烈亚士﹝Alexander Wylie公元1815-1887年﹞将《孙子算经》“物不知数”问题的解法传到欧洲,公元1874年马蒂生﹝L.Mathiesen﹞指出孙子的解法符合高斯的定理,从而在西方数学史里将这一个定理称为“中国的剩余定理”﹝Chinese remainder theorem﹞。    另外还有一道,曰:“巍巍古寺在山林,不知寺内几多僧。三百六十四只碗,看看用尽不差争。三人共食一碗饭,四人共吃一碗羹。请问先生明算者,算来寺内几多僧。”            孙子算经唐代抄本 原序
 孫子曰:夫算者:天地之經緯,群生之園首,五常之本末,陰陽之父母,星辰之建號,三光之表裏,五行之準平,四時之終始,萬物之祖宗,六藝之綱記。稽群倫之聚散,考二氣之降昇,推寒暑之迭運,步遠近之殊同,觀天道精微之兆基,察地理從橫之長短,采神只之所在,極成敗之符驗。窮道德之理,究性命之情。立規矩,準方圓,謹法度,約尺丈,立權衡,平重輕,剖毫釐,析泰絫。歷億載而不朽,施八極而無疆。散之者,富有餘;背之者,貧且寠。 
    心開者,幼衝而即悟;意閉者,皓首而難精。夫欲學之者,必務量能揆己,志在所專,如是,則焉有不成者哉!
卷上
    度之所起,起於忽。欲知其忽,蠶吐絲爲忽,十忽爲一絲,十絲爲一毫,十毫爲一牦,十牦爲一分,十分爲一寸,十寸爲一尺,十尺爲一丈,十丈爲一引,五十引爲一端,四十尺爲一匹,六尺爲一步,二百四十步爲一畝,三百步爲一裏。     稱之所起,起於黍。十黍爲一絫,十絫爲一銖,二十四銖爲一兩,十六兩 爲一觔,三十觔爲一鈞,四鈞爲一石。     量之所起,起於粟。六粟爲一圭,十圭爲一撮,十撮爲一抄,十抄爲一勺, 十勺爲一合,十合爲一昇,十昇爲一斗,十斗爲一斛,十斛得六千萬粟。所以得知者,六粟爲一圭,十圭六十粟爲一撮,十撮六百粟爲一抄,十抄六千粟爲 一勺,十勺六萬粟爲一合,十合六十萬粟爲一昇,十昇六百萬粟爲一斗,十斗千萬粟爲一斛,十斛六億粟百,斛六兆粟,千斛六京粟,萬斛六陔粟,十萬斛六秭粟,百萬斛六穰粟,千萬斛六溝粟,萬萬斛爲一億六澗粟,十億斛六正粟,百億斛六載粟。     凡大數之法:萬萬曰億,萬萬億曰兆,萬萬兆曰京,萬萬京曰陔,萬萬陔 曰秭,萬萬秭曰穰,萬萬穰曰溝,萬萬溝曰澗,萬萬澗曰正,萬萬正曰載。    周三,徑一,方五,邪七。見邪求方,五之,七而一;見方求邪,七之, 五而一。     白銀方寸重一十四兩。     玉方寸重一十兩。     銅方寸重七兩半。     鉛方寸重九兩半。     鐵方寸重七兩。     石方寸重三兩。     凡算之法:先識其位,一從十橫,百立千殭,千十相望,萬百相当。(案: 萬百原本訛作百萬,今據《夏侯陽算經》改正。)     凡乘之法:重置其位,上下相觀,頭位有十步,至十有百步,至百有千步, 至千以上命下所得之數列於中。言十即過,不滿,自如頭位。乘訖者,先去之 下位;乘訖者,則俱退之。六不積,五不只。上下相乘,至盡則已。     凡除之法:與乘正異乘得在中央,除得在上方,假令六爲法,百爲實,以 六除百,当進之二等,令在正百下。以六除一,則法多而實少,不可除,故当 退就十位,以法除實,言一六而折百爲四十,故可除。若實多法少,自当百之, 不当復退,故或步法十者,置於十百位(頭位有空絶者,法退二位。)餘法皆 如乘時,實有餘者,以法命之,以法爲母,實餘爲子。       以粟求糲米,三之,五而一。     以糲米求粟,五之,三而一。     以糲米求飯,五之,二而一。     以粟米求糲飯,六之,四而一。     以糲飯求糲米,二之,五而一。     以□米求飯,八之,四而一。     十分減一者,以二乘二十除;減二者,以四乘二十除;減三者,以六乘二 十除;減四者,以八乘二十除;減五者,以十乘二十除;減六者,以十二乘二 十除;減七者,以十四乘二十除;減八者,以十六乘二十除;減九者,以十八 乘二十除。    九分減一者,以二乘十八除。    八分減一者,以二乘十六除。    七分減一者,以二乘十四除。    六分減一者,以二乘十二除。    五分減一者,以二乘十除。    九九八十一,自相乘得幾何?答曰:六千五百六十一。    術曰:重置其位,以上八呼下八,八八六十四即下,六千四百於中位;以 上八呼下一,一八如八,即於中位下八十,退下位一等,收上頭位八十(案: 原本脫「上」字,今補。)以上位一(案:上位原本訛作「頭位」,今改正。) 呼下八,一八如八,即於中位,下八十;以上一呼下一,一一如一,即於中位 下一,上下位俱收中位,即得六千五百六十一。    六千五百六十一,九人分之。問:人得幾何?答曰:七百二十九。    術曰:先置六千五百六十一於中位,爲實,下列九人爲法,頭位置七百(案: 
原本脫上字,今補。),以上七呼下九,七九六十三,即除中位六千三百,退
下位一等,即上位,置二十(案:上位原本訛作頭位,今改正。),以上二呼 下九,二九一十八,即除中位一百八十,又更退下位一等,即上位,更置九(案: 上位原本亦訛作頭位,今改正。),即以上九呼下九,九九八十一,即除中位 八十一,中位並盡,收下位,頭位所得即人之所得,自八八六十四至一一如一, 並準此。    八九七十二,自相乘,得五千一百八十四,八人分之,人得六百四十八。    七九六十三,自相乘,得三千九百六十九,七人分之,人得五百六十七。    六九五十四,自相乘,得二千九百一十六,六人分之,人得四百八十六。    五九四十五,自相乘,得二千二十五,五人分之,人得四百五。    四九三十六,自相乘,得一千二百九十六,四人分之,人得三百二十四。    三九二十七,自相乘,得七百二十九,三人分之,人得二百四十三。    二九一十八,自相乘,得三百二十四,二人分之,人得一百六十二。    一九如九,自相乘,得八十一,一人得八十一。    右九九一條,得四百五,自相乘,得一十六萬四千二十五,九人分之,人 得八千二百二十五。    八八六十四,自相乘,得四千九十六,八人分之,人得五百一十二。    七八五十六,自相乘,得三千一百三十六,七人分之,人得四百四十八。    六八四十八,自相乘,得二千三百四,六人分之,人得三百八十四。    五八四十,自相乘,得一千六百,五人分之,人得三百二十。    四八三十二,自相乘,得一千二十四,四人分之,人得二百五十六。    三八二十四,自相乘,得五百七十六,三人分之,人得一百九十二。    二八十六,自相乘,得二百五十六,二人分之,人得一百二十八。一八如八,自相乘,得六十四,一人得六十四。    右八八一條,得二百八十八,自相乘,得八萬二千九百四十四,八人分之, 人得一萬三百六十八。    七七四十九,自相乘,得二千四百一,七人分之,人得三百四十三。    六七四十二,自相乘,得一千七百六十四,六人分之,人得二百九十四。    五七三十五,自相乘,得一千二百二十五,五人分之,人得二百四十五。    四七二十八,自相乘,得七百八十四,四人分之,人得一百九十六。    三七二十一,自相乘,得四百四十一,三人分之,人得一百四十七。    二七一十四,自相乘,得一百九十六,二人分之,人得九十八。    一七如七,自相乘,得四十九,一人得四十九。    右七七一條,得一百九十六,自相乘,得三萬八千四百一十六,七人分之, 人得五千四百八十八。    六六三十六,自相乘,得一千二百九十六,六人分之,人得二百一十六。    五六三十,自相乘,得九百,五人分之,人得一百八十。    四六二十四,自相乘,得五百七十六,si人分之,人得一百四十四。    三六一十八,自相乘,得三百二十四,三人分之,人得一百八。    二六一十二,自相乘,得一百四十四,二人分之,人得七十二。    一六如六,自相乘,得三十六,一人得三十六。    右六六一條,得一百二十六,自相乘,得一萬五千八百七十六,六人分之, 人得二千六百四十六。    五五二十五,自相乘,得六百二十五,五人分之,人得一百二十五。    四五二十,自相乘,得四百,四人分之,人得一百。    三五一十五,自相乘,得二百二十五,三人分之,人得七十五。    二五一十,自相乘,得一百,二人分之,得五十。    一五如五,自相乘,得二十五,一人得二十五。    右五五一條,得七十五,自相乘,得五千六百二十五,五人分之,人得一 千一百二十五。    四四一十六,自相乘,得二百五十六,si人分之,人得六十四。    三四一十二,自相乘,得一百四十四,三人分之,人得四十八。    二四如八,自相乘,得六十四,二人分之,人得三十二。    一四如四,自相乘,得一十六,一人得一十六。    右四四一條,得四十,自相乘,得一千六百,四人分之,人得四百。    三三如九,自相乘,得八十一,三人分之,人得二十七。    二三如六,自相乘,得三十六,二人分之,人得一十八。    一三如三,自相乘,得九,一人得九。    右三三一條,得一十八,自相乘,得三百二十四,三人分之,人得一百八。     二二如四,自相乘,得一十六,二人分之,人得八。    一二如二,自相乘,得四,一人得四。    右二二一條,得六,自相乘,得三十六,二人分之,人得一十八。    一一如一,自相乘,得一,一乘不長。    右從九九至一一,總成一千一百五十五,自相乘,得一百三十三萬四千二 十五,九人分之,人得一十四萬八千二百二十五。    以九乘一十二,得一百八,六人分之,人得一十八。    以二十七乘三十六,得九百七十二,一十八人分之,人得五十四。    以八十一乘一百八,得八千七百四十八,五十四人分之,人得六十二。    以二百四十三乘三百二十四,得七萬八千七百三十二,一百六十二人分之, 
 人得四百八十六。
    以七百二十九乘九百七十二,得七十萬八千五百八十八,四百八十六人分 之,人得一千四百五十八。     以二千一百八十七乘二千九百一十六,得六百三十七萬七千二百九十二, 一千四百五十八人分之,得四千三百七十四。     以六千五百六十一乘八千七百四十八,得五千七百三十九萬五千六百二十 八,四千三百七十四人分之,人得一萬三千一百二十二。     以一萬九千六百八十三乘二萬六千二百四十四,得五億一千六百五十六萬 六百五十二,一萬三千一百二十二人分之,人得三萬九千三百六十六。     以五萬九千四十九乘七萬八千七百三十二,得四十六億四千九百四萬五千 八百六十八,三萬九千三百六十六人分之,人得一十一萬八千九十八。     以一十七萬七千一百四十七乘二十三萬六千一百九十六,得四百一十八億 四千一百四十一萬二千八百一十二,一十一萬八千九十八人分之,得三十五萬 四千二百九十四。    以五十三萬一千四百四十一乘七十萬八千五百八十八,得三千七百六十五 億七千二百七十一萬五千三百八,三十五萬四千二百九十四人分之,人得一百 六萬二千八百八十二。
卷中     今有一十八分之一十二。問:約之得幾何?答曰:三分之二。     術曰:置十八分在下,一十二分在上,副置二位以少減多,等數得六爲法, 約之即得。     今有三分之一、五分之二。問:合之二得幾何?答曰:一十五分之十一。     術曰:置三分五分在右方,之一之二在左方,母互乘子,五分之二得六, 三分之一得五,並之,得一十一爲實;又方二母相乘,得一十五爲法。不滿法, 以法命之,即得。     今有九分之八,減其五分之一。問:餘幾何?答曰:四十五分之三十一。     術曰:置九分五分在右方,之八之一在左方,母互乘子,五分之一得九, 九分之八得四十,以少減多,餘三十一,爲實;母相乘,得四十五,爲法。不 滿法,以法命之,即得。     今有三分之一,三分之二,四分之三。問:減多益少,幾何而平?答曰: 減四分之三者二,減三分之二者一,並以益三分之一,而各平於一十二分之七。     術曰:置三分三分四分在右方,之一之二之三在左方,母互乘子,副並得 六十三。置右爲平實,母相乘得三十六,爲法,以列數三乘未並者,及法等數, 得九約訖,減四分之三者二,減三分之二者一,並以益三分之一,各平於一十 二分之七。     今有粟一斗。問:爲糲米幾何?答曰:六昇。     術曰:置粟一斗十昇,以糲米率三十乘之,得三百昇爲實,以粟率五十爲 法,除之,即得。     今有粟二斗一昇。問:爲粺米幾何?答曰:一斗一昇五十分昇之一十七。     術曰:置粟數二十一昇,以粺米率二十七乘之,得五百六十七昇,爲實; 以粟率五十爲法,除之不盡,以法而命分。     今有粟四斗五昇。問:爲□米幾何?答曰:二斗一昇五分昇之三。     術曰:置粟四十五昇,以二約□米率二十四,得一十二,乘之,得五百四 十昇,爲實;以二約粟率,五十得二十五,爲法,除之,不盡,以等數約之, 而命分。     今有粟七斗九昇。問:爲御米幾何?答曰:三斗三昇一合八勺。     術曰:置七斗九昇以御米率二十一乘之,得一千六百五十九,爲實,以粟 率五十除之,即得。     今有屋基,南北三丈,東西六丈,欲以磚瓦砌之,凡積二尺,用磚五枚。 問:計幾何?答曰:四千五百枚。     術曰:置東西六丈,以南北三丈乘之,得一千八百尺;以五乘之,得九千 尺;以二除之,即得。     今有圓窖,下周二百八十六尺,深三丈六尺。問:受粟幾何?答曰:一十 五萬一千四百七十四斛七昇二十七分昇之一十一。     術曰:置周二百八十六尺,自相乘得八萬一千七百九十六尺,以深三丈六 尺乘之,得二百九十四萬四千六百五十六;以一十二除之,得二十四萬五千三 百八十八尺,以斛法一尺六寸二分除之,即得。     今有方窖,廣四丈六尺,長五丈四尺,深三丈五尺。問:受粟幾何?答曰: 五萬三千六百六十六斛六斗六昇三分昇之二。 術曰:置廣四丈六尺,長五丈四尺,相乘得二千四百八十四尺;以深三丈 五尺乘之,得八萬六千九百四十尺,以斛法一尺六寸二分除之,即得。     今有圓窖,周五丈四尺,深一丈八尺。問:受粟幾何?答曰:二千七百斛。      術曰:先置周五丈四尺相乘,得二千九百一十六尺,以深一丈八尺乘之, 得五萬二千四百八十八尺;以一十二除之,得四千三百七十四尺,以斛法一尺 六寸二分除之,即得。     今有圓田周三百步,徑一百步。問:得田幾何?答曰:三十一畝,奇六十 步。     術曰:先置周三百步,半之,得一百五十步;又置徑一百步半之,得五十 步,相乘,得七千五百步,以畝法二百四十步除之,即得。     又術曰:周自相乘,得九萬步,以十二除之,得七千五百步,以畝法除之, 得畝數。     又術曰:徑自乘,得一萬,以三乘之,得三萬步,四除之,得七千五百步, 以畝法除之,得畝數。     今有方田桑生中央,從角至桑,一百四十七步。問:爲田幾何?答曰:一 頃八十三畝,奇一百八十步。     術曰:置角至桑一百四十七步,倍之,得二百九十四步,以五乘之,得一 千四百七十步,以七除之,得二百一十步,自相乘,得四萬四千一百步,以二 百四十步除之,即得。     今有木,方三尺,高三尺,欲方五寸作枕一枚。問:得幾何?答曰:二百 一十六枚。    術曰:置方三尺,自相乘,得九尺,以高三尺乘之,得二十七尺,以一尺 木八枕乘之,即得。     今有索,長五千七百九十四步,以四除之,得一千四百四十八步,餘二步, 以六因之,得一丈二尺,以四除之,得三尺,通計即得。     今有堤,下廣五丈,上廣三丈,高二丈,長六十尺,欲以一千尺作一方。 問:計幾何?答曰:四十八方。     術曰:置堤,上廣三丈,下廣五丈。並之,得八丈;半之,得四丈。以二 丈乘之,得八百尺;以長六十尺乘之,得四萬八千;以一千尺除之(案:原本 訛作乘,今改正。),即得。     今有溝,廣十丈,深五丈,長二十丈,欲以千尺作一方。問:得幾何?答 曰:一千方。     術曰:置廣一十丈,以深五丈乘之,得五千尺,又以長二十丈乘之,得一 百萬尺,以一千除之,即得。     今有積,二十三萬四千五百六十七步。問:爲方幾何?答曰:四百八十四 步九百六十八分步之三百一十一。     術曰:置積二十三萬四千五百六十七步,爲實,次借一算爲下法,步之超 一位至百而止。上商置四百於實之上(案:上商原本脫上字,今補。),副置 四萬於實之下。下法之商,名爲方法;命上商四百除實,除訖,倍方法,方法 一退(案:原本脫方法二字,今補。),下法再退,復置上商八十以次前商, 副置八百於方法之下。下法之上,名爲廉法;方廉各命上商八十以除實(案: 原本脫實字,今補。),除訖(案:原本脫除字,今補。),倍廉法,從方法, 方法一退,下法再退,復置上商四以次前,副置四於方法之下。下法之上,名 曰隅法;方廉隅各命上商四以除實,除訖,倍隅法,從方法(案:原本訛此六 字,今據術補。),上商得四百八十四,下法得九百六十八,不盡三百一十一, 是爲方四百八十四步九百六十八分步之三百一十一。     今有積,三萬五千步。問爲圓幾何?答曰:六百四十八步一千二百九十六 分步之九十六。(案:六分步原本訛作七分,脫步字,今補正。)     術曰:置積三萬五千步以一十二乘之,得四十二萬,爲實,次借一算爲下 法,步之超一位至百而止,上商置六百於實之上,副置六萬於實之下。下法之 上,名爲方法,命上商六百除實,除訖,倍方法,方法一退,下法再退,復置 上商四十以次前商,副置四百於方法之下。下法之上,名爲廉法,方廉各命上 商四十以除實(案:原本脫四十二字,今補。),除訖,倍廉法,從方法,方 法一退,下法再退,復置上商八次前商,副置八於方法之下。下法之上,名爲 隅法,方廉隅各命上商八以除實,除訖,倍隅法,從方法,上商得六百四十八 
(案:原本脫得字,今補。),下法得一千二百九十六(案:六原本訛作七, 今改正。),不盡九十六,是爲方六百四十八步一千二百九十六分步之九十六。 (案:九十六分原本訛作九十七分,今改正。)     今有邱田周六百三十九,步徑三百八十步。問:爲田幾何?答曰:二頃五 十二畝二百二十五步。     術曰:半周得三百一十九步五分半徑,得一百九十步二位相乘,得六萬七 百五步,以畝法除之,即得。     今有築城,上廣二丈,下廣五丈四尺,高三丈八尺,長五千五百五十尺, 秋程人功三百尺。問:須功幾何?答曰:二萬六千一十一功。     術曰:並上下廣,得七十四尺,半之,得三十七尺,以高乘之,得一千四 百六尺,又以長乘之,得積七百八十萬三千三百尺,以秋程人功三百尺除之, 即得。     今以穿渠長二十九里一百四步,上廣一丈二尺六寸,下廣八尺深一丈八尺, 秋程人功三百尺。問:須功幾何?答曰:三萬二千六百四十五功(案:原本訛 作三萬二百六十五人,今據術改正。),不盡六十九尺六寸。     術曰:置裏數以三百步乘之,內零步,六之,得五萬二千八百二十四尺,並上下廣,得二丈六寸,半之,以深乘之,得一百八十五尺四寸,以長乘得九 百七十九萬三千五百六十九尺六寸,以人功三百尺除之,即得。     今有錢六千九百三十,欲令二百一十六人作九分,分之八十一人,人與二 分;七十二人,人與三分;六十三人,人與四分。問:三種各得幾何?答曰: 二分人得錢二十二,三分人得錢三十三,四分人得錢四十四。     術曰:先置八十一人於上,七十二人次之,六十三人在下,頭位以二乘之, 得一百六十二,次位以三乘之,得二百一十六,下位以四乘之,得二百五十二, 
副並三位,得六百三十爲法。又置錢六千九百三十爲三位頭位,以一百六十二 乘之,得一百一十二萬二千六百六十,又以二百一十六乘中位,得一百四十九 萬六千八百八十,又以二百五十二乘下位,得一百七十四萬六千三百六十,各 爲實以法,六百三十各除之,頭位得一千七百八十二,中位得二千三百七十六, 下位得二千七百七十二,各以人數除之,即得。     今有五等諸侯,共分橘子六十顆,人別加三顆。問:五人各得幾何?答曰: 公一十八顆,侯一十五顆,伯一十二顆,子九顆,男六顆。     術曰:先置人數別加三顆於下,次六顆,次九顆,次一十二顆,上十五顆, 副並之,得四十五,以減六十顆,餘人數除之,得人三顆,各加不並者,上得 一十八顆爲公分,次得一十五爲侯分,次得一十二爲伯分,次得九爲子分,下 得六爲男分。    今有甲乙丙三人持錢,甲語乙丙:各將公等所持錢半以益我錢成九十。乙 復語甲丙:各將公等所持錢,半以益我,錢成七十。丙復語甲乙:各將公等所 持錢,半以益我,錢成五十六。問:三人園持錢各若干?答曰:甲七十二,乙 三十二,丙四。     術曰:先置三人所語爲位,以三乘之,各爲積,甲得二百七十,乙得二百 一十,丙得八十四,又置甲九十,乙七十,丙五十六,各半之,以甲乙減丙, 以甲丙減乙,以乙丙減甲,即各得園數。     今有女子善織,日自倍,五日織通五尺。問:日織幾何?答曰:初日織一 寸三十一分寸之一十九,次日織三寸三十一分寸之七,次日織六寸三十一分寸 之一十四,次日織一尺二寸三十一分寸之二十八,次日織二尺五寸三十一分寸 之二十五。    術曰:各置列衰副,並得三十一爲法,以五尺乘並者,各自爲實,實如法 
  而一,即得。     今有人盜庫絹,不知所失幾何?但聞草中分絹,人得六匹,盈六匹;人得 七匹,不足七匹。問人、絹各幾何?答曰:賊一十三人,絹八十四匹。     術曰:先置人得六匹於右上,盈六匹於右下,後置人得七匹於左上,不足 七匹於左下,維乘之所得,並之爲絹,並盈不足爲人。
卷下     今有甲、乙、丙、丁、戊、己、庚、辛、壬、癸九家共輸租,甲出三十五 斛,乙出四十六斛,丙出五十七斛,丁出六十八斛,戊出七十九斛,己出八十 斛,庚出一百斛,辛出二百一十斛,壬出三百二十五斛,凡九家,共輸租一千 斛,僦運直折二百斛外。問:家各幾何?答曰:甲二十八斛,乙三十六斛八斗, 丙四十五斛六斗,丁五十四斛四斗,戊六十三斛二斗,己六十四斛,庚八十斛, 辛一百六十八斛,壬二百六十斛。     術曰:置甲出三十五斛,以四乘之,得一百四十斛;以五除之,得二十八 斛。乙出四十六斛,以四乘之,得一百八十四斛;以五除之,得三十六斛八斗。 丙出五十七斛,以四乘之,得二百二十八斛;以五除之,得四十五斛六斗。丁 出六十八斛,以四乘之,得二百七十二斛;以五除之,得五十四斛四斗。戊出 七十九斛,以四乘之,得三百一十六斛;以五除之,得六十三斛二斗。己出八 十斛,以四乘之,得三百二十斛;以五除之,得六十四斛。庚出一百斛,以四 乘之,得四百斛;以五除之,得八十斛。辛出二百一十斛,以四乘之,得八百 四十斛;以五除之,得一百六十八斛。壬出三百二十五斛,以四乘之,得一千 三百斛;以五除之,得二百六十斛。     今有丁一千五百萬,出兵四十萬。問:幾丁科一兵?答曰:三十七丁五分。      術曰:置丁一千五百萬爲實,以兵四十萬爲法,實如法,即得。     今有平地聚粟,下周三丈六尺,高四尺五寸。問:粟幾何?答曰:一百斛。      術曰:置周三丈六尺,自相乘,得一千二百九十六尺,以高四尺五寸,乘 之,得五千八百三十二尺,以三十六除之,得一百六十二尺,以斛法一尺六寸 二分除之,即得。     今有佛書,凡二十九章,章六十三字。問:字幾何?答曰:一千八百二十 七。    術曰:置二十九章,以六十三字,乘之,即得。    今有棋局,方一十九道。問:用棋幾何?答曰:三百六十一。    術曰:置一十九道,自相乘之,即得。    今有租,九萬八千七百六十二斛,欲以一車載五十斛。問:用車幾何?答 曰:一千九百七十五乘奇一十二斛。    術曰:置租九萬八千七百六十二斛爲實,以一車所載五十斛爲法。實如法, 即得。    今有丁九萬八千七百六十六,凡二十五丁出一兵。問:兵幾何?答曰:三 千九百五十人奇一十六丁。    術曰:置丁九萬八千七百六十六爲實,以二十五爲法。實如法,即得。    今有絹,七萬八千七百三十二匹,令一百六十二人分之。問:人得幾何? 答曰:四百八十六匹。    術曰:置絹七萬八千七百三十二匹爲實,以一百六十二人爲法。實如法, 即得。    今有綿,九萬一千一百三十五觔,給與三萬六千四百五十四戶。問:戶得 幾何?答曰:二觔八兩。    術曰:置九萬一千一百三十五觔,爲實;以三萬六千四百五十四戶,爲法。 除之,得二觔,不盡一萬八千二百二十七觔,以一十六乘之,得二十九萬一千 六百三十二兩,以戶除之,即得。    今有粟,三千九百九十九斛九斗六昇,凡粟九斗易豆一斛。問:計豆幾何? 答曰:四千四百四十四斛四斗。    術曰:置粟三千九百九十九斛九斗六昇爲實,以九斗爲法。實如法,即得。    今有粟,二千三百七十四斛,斛加三昇。問:共粟幾何?答曰:二千四百 四十五斛二斗二昇。    術曰:置粟二千三百七十四斛,以一斛三昇乘之,即得。    今有粟,三十六萬九千九百八十斛七斗,在倉九年,年斛耗三昇。問:一 年、九年各耗幾何?答曰:一年耗一萬一千九十九斛四斗二昇一合,九年耗九 萬九千八百九十四斛七斗八昇九合。    術曰:置三十六萬九千九百八十斛七斗,以三昇乘之,得一年之耗,又以 九乘之,即九年之耗。    今有貸與人絲五十七觔,限歲出息一十六觔。問:觔息幾何?答曰:四兩 五十七分兩之二十八。    術曰:列限息絲一十六觔,以一十六兩乘之,得二百五十六兩,以貸絲五 十七觔除之,不盡,約之,即得。    今有三人共車,二車空;二人共車,九人步。問:人與車各幾何?答曰: 一十五車,三十九人。    術曰:置二人以三乘之,得六,加步者九人,得車一十五,欲知人者,以 二乘車,加九人即得。    今有粟一十二萬八千九百四十斛九斗三合,出與人買絹一匹,直粟三斛五斗七昇。問:絹幾何?答曰:三萬六千一百一十七匹三丈六尺。    術曰:置粟一十二萬八千九百四十斛九斗三合爲實,以三斛五斗七昇爲法, 除之,得匹餘四十之所得,又以法除之,即得。    今有婦人河上蕩杯,津吏問曰:「杯何以多?」婦人曰:「家有客。」津 吏曰:「客幾何?」婦人曰:「二人共飯,三人共羹,四人共肉,凡用杯六十 五,不知客幾何?」答曰:「六十人。」    術曰:置六十五杯,以十二乘之,得七百八十;以十三除之,即得。    今有木,不知長短,引繩度之,餘繩四尺五寸;屈繩量之,不足一尺。問: 幾何?答曰:六尺五寸。    術曰:置餘繩四尺五寸,加不足一尺,共五尺五寸,倍之,得一丈一尺, 減四尺五寸,即得。    今有器中米,不知其數,前人取半,中人三分取一,後人四分取一,餘米 一斗五昇。問:米幾何?答曰:六斗。    術曰:置餘米一斗五昇,以六乘之,得九斗;以二除之,得四斗五昇;以 四乘之,得一斛八斗;以三除之,即得。    今有黃金一觔直錢一十萬。問:兩直幾何?答曰:六千二百五十錢。    術曰:置錢一十萬,以一十六兩除之,即得。    今有錦一匹,直錢一萬八千。問:丈、尺、寸各直幾何?答曰:丈四千五 百錢,尺四百五十錢,寸四十五錢。    術曰:置錢一萬八千,以四除之,得一丈之直;一退再退,得尺寸之直。    今有地,長一千步,廣五百步,尺有鶉、寸有鷃。問鶉、鷃各幾何?答曰: 鶉一千八百萬,鷃一億八千萬。    術曰:置長一千步,以廣五百步乘之,得五十萬;以三十六乘之,得一千 
  八百萬尺,即得鶉數;上十之,即得鷃數。    今有六萬口,上口三萬人,日食九昇;中口二萬人,日食七昇;下口一萬 人,日食五昇。問:上、中、下口,共食幾何?答曰:四千六百斛。    術曰:各置口數,以日食之數乘之,所得並之,即得。    今有方物一束外周,一市有三十二枚。問:積幾何?答曰:八十一枚。    術曰:重置二位左位減八餘加右位,至盡虛加一,即得。    今有竿,不知長短,度其影,得一丈五尺,別立一表,長一尺五寸,影得 五寸。問:竿長幾何?答曰:四丈五尺。    術曰:置竿影一丈五尺,以表長一尺五寸乘之,上十之,得二十二丈五尺, 以表影五寸除之,即得。    今有物,不知其數。三三數之,賸二;五五數之,賸三;七七數之,賸二。 問:物幾何?答曰:二十三。     術曰:三三數之,賸二,置一百四十;五五數之,賸三,置六十三;七七 數之,賸二,置三十。並之,得二百三十三,以二百一十減之,即得。凡三三 數之,賸一,則置七十五;五五數之,賸一,則置二十一;七七數之,賸一, 則置十五。一百六以上,以一百五減之,即得。    今有獸,六首四足;禽,二首二足,上有七十六首,下有四十六足。問: 禽、獸各幾何?答曰:八獸、七禽。      術曰:倍足以減首,餘半之,即獸;以四乘獸,減足,餘半之,即禽。     今有甲乙二人持錢,各不知數。甲得乙中半,可滿四十八;乙得甲大半, 亦滿四十八。問:甲乙二人園持錢各幾何?答曰:甲持錢三十六,乙持錢二十四。     術曰:如方程求之,置二甲一乙錢九十六於右方,置二甲三乙錢一百四十 四於左方,以右方二乘左方,上得四,中得六,下得二百八十八錢;以左方二 乘右方,上得四,中得二,下得九十六(案:近刻脫此十八字,今據術補。); 以右行再減左行,左上空,中餘四,以爲法,下餘九十六錢,爲實;上法下實, 得二十四錢,爲乙錢,以減右下九十六,餘七十二爲實,以右上二甲爲法,上 法下實,得三十六爲甲錢也。     今有百鹿入城,家取一鹿,不盡,又三家共一鹿,適盡。問:城中家幾何? 答曰:七十五家。     術曰:以盈不足取之,假令七十二家鹿不盡四,令之九十家鹿不足二十。 置七十二於右上,盈四於右下,置九十於左上,不足二十於左下,維乘之所得 並爲實,並盈不足爲法,除之,即得。     今有三鶏共啄粟一千一粒,雛啄一,母啄二,翁啄四。主責本粟,三鶏主 各償幾何?答曰:鶏雛主一百四十三,鶏母主二百八十六,鶏翁主五百七十二。      術曰:置粟一千一粒爲實,副並三鶏所啄粟七粒爲法,除之,得一百四十 三粒爲鶏雛主所償之數,遞倍之,即得母、翁主所償之數。     今有雉、兔同籠,上有三十五頭,下有九十四足。問:雉、兔各幾何?答 曰:雉二十三,兔一十二。     術曰:上置三十五頭,下置九十四足。半其足,得四十七,以少減多,再 命之,上三除下三,上五除下五,下有一除上一,下有二除上二,即得。     又術曰:上置頭,下置足,半其足,以頭除足,以足除頭,即得。     今有九里渠,三寸魚頭,頭相次。問:魚得幾何?答曰:五萬四千。     術曰:置九里以三百步乘之,得二千七百步;又以六尺乘之,得一萬六千 二百尺,上十之,得一十六萬二千寸,以魚三寸除之,即得。     今有長安、洛陽相去九百里,車輪一帀一丈八尺。欲自洛陽至長安。問:
 
輪帀幾何?答曰:九萬帀。     術曰:置九百里以三百步乘之,得二十七萬步,又以六尺乘之,得一百六 十二萬尺,以車輪一丈八尺爲法,除之,即得。     今有出門望見九堤,堤有九木,木有九枝,枝有九巢,巢有九禽,禽有九 雛,雛有九毛,毛有九色。問:各幾何?答曰:木八十一枝,七百二十九巢, 六千五百六十一禽,五萬九千四十九雛,五十三萬一千四百四十一毛,四百七 十八萬二千九百六十九色,四千三百四萬六千七百二十一。     術曰:置九堤以九乘之,得木之數;又以九乘之,得枝之數;又以九乘之, 得巢之數;又以九乘之,得禽之數;又以九乘之,得雛之數;又以九乘之,得 毛之數;又以九乘之,得色之數。     今有三女,長女五日一歸,中女四日一歸,少女三日一歸。問:三女幾何 日相會?答曰:六十日。     術曰:置長女五日,中女四日,少女三日,於右方,各列一算於左方,維 乘之,各得所到數。長女十二到,中女十五到,少女二十到,又各以歸日乘到 數,即得。     今有孕婦,行年二十九歲。難九月,未知所生?答曰:生男。     術曰:置四十九加難月,減行年,所餘以天除一,地除二,人除三,四時 除四,五行除五,六律除六,七星除七,八風除八,九州除九。其不盡者,奇 則爲男,耦則爲女。
  中国剩余定理    在我国古代劳动人民中,长期流传着“隔墙算”、“剪管术”、“秦王暗点兵”等数学游戏。有一首“孙子歌”,甚至远渡重洋,输人日本:   “三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。”   这些饶有趣味的数学游戏,以各种不同形式,介绍世界闻名的“孙子问题”的解法,通俗地反映了中国古代数学一项卓越的成就。“孙子问题”在现代数论中是一个一次同余问题,它最早出现在我国公元四世纪的数学著作《孙子算经》中。《孙子算经》卷下“物不知数”题说:有物不知其数,三个一数余二,五个一数余三,七个一数又余二,问该物总数几何?显然,这相当于求不定方程组   N=3x+2,N=5y+3,N=7z+2   的正整数解N,或用现代数论符号表示,等价干解下列的一次同余组。   N=2(mod3);N=3(mod5);N=2(mod7)   《孙子算经》所给答案是N=23。由于孙子问题数据比较简单,这个答数通过试算也可以得到。但是《孙子算经》并不是这样做的。“物不知数”题的术文指出解题的方法多三三数之,取数七十,与余数二相乘;五五数之,取数二十一,与余数三相乘;七七数之,取数十五,与余数二相乘。将诸乘积相加,然后减去一百零五的倍数。列成算式就是:   N=70×2+21×3+15×2-2×105=23。   这里105是模数3、5、7的最小公倍数,容易看出,《孙子算经》给出的是符合条件的最小正整数。对于一般余数的情形,《孙子算经》术文指出,只要把上述算法中的余数2、3、2分别换成新的余数就行了。以R1、R2、R3表示这些余数,那么《孙子算经》相当于给出公式   N=70×R1+21×R2+15×R3-P×105(p是整数)。   孙子算法的关键,在于70、21和15这三个数的确定。后来流传的《孙子歌》中所说“七十稀”、“廿一技”和“正半月”,就是暗指这三个关键的数字。《孙子算经》没有说明这三个数的来历。实际上,它们具有如下特性:   也就是说,这三个数可以从最小公倍数M=3×5×7=105中各约去模数3、5、7后,再分别乘以整数2、1、1而得到。假令k1=2,K2=1,K3=1,那么整数Ki(i=1,2,3)的选取使所得到的三数70、21、15被相应模数相除的时候余数都是1。由此出发,立即可以推出,在余数是R1、R2、R3的情况下的情况。   应用上述推理,可以完全类似地把孙子算法推广到一般情形:设有一数N,分别被两两互素的几个数a1、a2、……an相除得余数R1、R2、……Rn,即   N≡Ri(mod ai)(i=1、2、……n),   只需求出一组数K,使满足   1(mod ai)(i=1、2、……n),   那么适合已给一次同余组的最小正数解是   (P是整数,M=a1×a2×……×an),   这就是现代数论中著名的剩余定理。如上所说,它的基本形式已经包含在《孙子算经》“物不知数”题的解法之中。不过《孙子算经》没有明确地表述这个一般的定理。   孙子问题出现在公元四世纪的中国算书中,这并不是偶然的。我国古代天文历法资料表明,一次同余问题的研究,明显地受到天文、历法需要的推动,特别是和古代历法中所谓“上元积年”的计算密切相关。大家知道,一部历法,需要规定一个起算时间,我国古代历算家把这个起点叫做“历元”或“上元”,并且把从历元到编历年所累积的时间叫做“上元积年”。上元积年的推算需要求解一组一次同余式。以公元三世纪三国时期魏国施行的《景初历》做例,这部历法规定以冬至、朔旦(朔日子夜)和甲子日零时会合的时刻作为历元。设a是一回归年日数,b是一朔望月日数,当年冬至距甲子日零时是R1日,离平朔时刻是R2日,那么《景初历》上元积元数N就是同余组的解。   aN≡Ri(mod 60)≡R2(mod b)   到了南北朝时期,祖冲之大明历》(公元462年)更要求历元必须同时是甲子年的开始,而且“日月合璧”、“五星联珠”(就是日、月、五大行星处在同一方位),月亮又恰好行经它的近地点和升交点。这样的条件下推算上元积年,就相当于要求解十个同余式了。天文历法数据一般又都十分庞杂,所以,在《孙子算经》成书前后的魏晋南北朝时期,我国的天文历算家无疑已经能够求解形式比《孙子算经》“物不知数”题复杂得多的一次同余式,因而必定掌握了按一定程序计算一次同余式的方法。《孙子算经》比例题的形式总结、反映了这一事实。以后天文历算家长期沿用孙子算法推算上元积年,这中间肯定会引起更加深入的探讨。到公元十三世纪,大数学家秦九韶集前法之大成,终于在一次同余式的研究上获得了超越前人的辉煌成果。   秦九韶,字道古,生活于南宋时期,自幼喜好数学,经过长期积累和苦心钻研,干公元1247年写成《数书九章》。这部中世纪的数学杰作,在许多方面都有创造,其中求解一次同余组的“大衍求一术”和求高次方程数值解的“正负开方术”,更是具有世界意义的成就。   这里主要介绍秦九韶对一次同余论的伟大贡献。   秦九韶在《数书九章》中明确地系统地叙述了求解一次同余组   的一般计算步骤。秦的方法,正是前述的剩余定理。我们知道,剩余定理把一般的一次同余问题归结为满足条件的一组数Ki,的选定。秦九韶给这些数起名叫“乘率”,并且在《数书九章》卷一“大衍总术”中详载了计算乘率的方法——“大衍求一术”。   为了介绍“大衍求一术”,我们以任一乘率ki的计算作例。如果Gi=>ai,秦九韶首先令ai除Gi,求得余数gi  Gi≡gi(mod ai),   于是 kiGi≡Kigi(mod ai),   但是因为 kiGi≡1(mod ai),   所以问题归结为求ki使适合kigi≡1(mod ai)。秦九韶把ai叫“定数”,gi叫“奇数”,他的“大衍求一术”,用现代语言解释,实际就是把奇数gi和定数ai辗转相除,相继得商数q1、q2、……qn和余数r1、r2、……rn,在辗转相除的时候,随即算出下面右列的c值:   秦九韶指出,当rn=1而n是偶数的时候,最后得到的cn就是所求乘率ki。如果rn=1而n是奇数,那么把rn-1和rn相除,形式上令qn+1=rn-1-1,那么余数rn+1仍旧是1,再作cn+1=qn+1cn+cn-1,qn+1=rn-1-1是偶数,cn+1就是所求的ki。不论哪种情形,最后一步都出现余数1,整个计算到此终止,秦九韶因此把他的方法叫做“求一术”(至于“大衍”的意思,秦九韶本人在《数书九章》序中把它和《周易》“大衍之数”相附会)。可以证明,秦九韶这一算法是完全正。所有这些系统的理论,周密的考虑,即使以今天的眼光看来也很不简单,充分显示了秦九韶高超的数学水平和计算技巧。秦九韶小时曾跟随他父亲到南宋京城杭州,向太史局(主管天确,十分严密的。   在秦九韶那个时代,计算仍然使用算筹。秦九韶在一个小方盘上,右上布置奇数g,右下布置定数a,左上置1(他叫它做“天元1”),然后在右行上下交互以少除多,所得商数和左上(或下)相乘并入左下(或上),直到右上方出现1为止。下页就是秦九韶的一般筹算图式,右边是一个数字例子(g=20,a=27,K=C4=23)。   秦九韶在《数书九章》中采集了大量例题,如“古历会积”、“积尺寻源”、“推计土功”、“程行计地”等等,广泛应用大衍求一术来解决历法、工程、赋役和军旅等实际问题。在这些实际问题中,模数ai并不总是两两互素的整数。秦九韶区分了“元数”(ai是整数)、“收数”(ai是小数)、“通数”(ai是分数)等不同情形,并且对每种情形给出了处理方法。“大衍总术”把“收数”和“通数”化成“元数”的情形来计算,而对于元数不两两互素的情形,给出了可靠的程序,适当选取那些元数的因子作定数而把问题归结为两两互素的情形   文历法的机构)的官员学习天文历法,“大衍求一术”很可能就是他总结天文历法计算上元积年方法的结果。但是“大衍求一术”似乎没有为他同时代的人所充分理解。明中叶以后几乎失传。一直到清代,“大衍求一术”又重新被发掘出来,引起了许多学者(张敦仁、李锐、骆腾凤、黄宗宪等)的兴趣。他们对“大衍求一术”进行了解释、改进和简化,其中黄宗宪《求一术通解》对模数非两两互素的情形给出了更加简明的方法,但是时代已是晚清。   从《孙子算经》“物不知数”题到秦九韶的“大衍求一术”,我国古代数学家对一次同余式的研究,不仅在中国数学史上而且在世界数学史上占有光荣的地位。在欧洲,最早接触一次同余式的,是和秦九韶同时代的意大利数学家裴波那契(1170—1250),他在《算法之书》中给出了两个一次同余问题,但是没有一般的算法。这两个问题从形式到数据都和孙子物不知数题相仿,整个水平没有超过《孙子算经》。直到十八、十九世纪,大数学家欧拉(1707—1783)于公元1743年、高斯(1777—1855)于公元1801年对一般一次同余式进行了详细研究,才重新获得和秦九韶“大衍求一术”相同的定理,并且对模数两两互素的情形给出了严格证明。欧拉和高斯事先并不知道中国人的工作。公元1852年英国传教士伟烈亚力(1815—1887)发表《中国科学摘记》,介绍了《孙子算经》物不知数题和秦九韶的解法,引起了欧洲学者的重视。1876年,德国马蒂生(1830—1906)首先指出孙子问题的解法和高斯方法一致,当时德国著名数学史家康托(1829—1920)看到马蒂生的文章以后,高度评价了“大衍术”,并且称赞发现这一方法的中国数学家是“最幸运的天才”。直到今天,“大衍求一术”仍然引起西方数学史家浓厚的研究兴趣。如1973年,美国出版的一部数学史专著《十三世纪的中国数学》中,系统介绍了中国学者在一次同余论方面的成就,作者力勃雷希(比利时人)在评论秦九韶的贡献的时候说道:“秦九韶在不定分析方面的著作时代颇早,考虑到这一点,我们就会看到,萨顿称秦九韶为'他那个民族、他那个时代、并且确实也是所有时代最伟大的数学家之一’,是毫不夸张的。”   印度学者对一次同余论也有过重要贡献。从公元六世纪到十二世纪,他们发展了一种称为“库塔卡”的算法,用来求解和一次同余式等价的不定方程组。“库塔卡”法出现在孙子算法之后,印度数学家婆罗门复多(七世纪)、摩柯吠罗(九世纪)等人的著作中,都有和物不知数题相同的一次同余问题。这当然不是要借此断言“库塔卡”法一定受到了孙子算法的影响,但是有人(如万海依等)硬说中自的“大衍求一术”来源于“库塔卡”,就是毫无根据的妄说了。万海依居然把中国算法中数码从左到右横写作为“大衍术”受印度影响的重要根据。大家知道,中国古代至迟从春秋战国时期就开始使用算筹记数,我们今天还可以从现存的公元前三世纪的货币上看到这种从左到右的记数方法。由此可见,万海依的论点多么荒唐可笑。中国古代数学家对一次同余论的研究有明显的独创性和继承性,“大衍求一术”在世界数学史上的崇高地位是毋容置疑的,正因为这样,在西方数学史著作中,一直公正地称求解一次同余组的剩余定理为“中国剩余定理”。“孙子”荡杯问题在中国古算书中,《孙子算经》一直在我国数史占有重要的地位,其中的“盈不足术”、“荡杯问题”等都有着许多有趣而又不乏技巧算术程式。   孙子算经.卷下第十七问给我们描述的就是著名的“荡杯问题”的程式。题曰:“今有妇人河上荡杯。津吏问曰:'杯何以多?’妇人曰:'有客。’津吏曰:'客几何?’妇人曰:'二人共饭,三人共羹,四人共肉,凡用杯六十五。不知客几何?”   很明显,这里告诉我们这次洗碗事件,要处理的是65个碗共有多少人的问题。其中有能了解客数的信息是2人共碗饭,3人共碗羹,4人共碗肉。通过这几个数值,很自然就能解决客数问题。因为客数是固定值,因此将其列成今式为N/2+N/3+N/4=65,易得客数六十人。   而该题的解法与今解如出一辙,其有“术曰:置六十五杯,以一十二乘之,得七百八十,以十三除之,即得”可证。 相 关 文 章
经典数学问题----费马最後定理使用最久的数学教科书——《几何原本》中国古代数学在几何学领域的独特贡献算经十书悖论《几何原本》《算术》《几何学》《几何基础》《测圆海镜》《代数学》《数术记遗》《几何原本》〈莱因德纸草书〉《海岛算经》