Loading AI tools
来自维基百科,自由的百科全书
大衍求一术,又名求一术,是中国数学史中通常被用来泛指南宋数学家秦九韶发明的求解中国剩余定理的历史算法(不是中国剩余定理的现代算法)。秦九韶原来的《数书九章》求解一次同余式组的算法的总称叫做大衍总数术,或大衍术、而其中一个计算乘率的子程序,才是大衍求一术。
大衍术是秦九韶最得意的创作,特放在《数书九章》之首。欧洲直到18世纪德国数学家高斯,才有相类的结果。秦九韶大衍术领先世界五百余年。
一次同余式组问题,最早见于《孙子算经》卷下第二十六问:
有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?答曰:二十三。术曰:三三数之,賸二,置一百四十;五五数之,賸三,置六十三;七七数之,賸二 ,置三十。并之,得二百三十三,以二百一十减之,即得。凡三三数之,賸一,则置七十;五五数之,賸一,则置二十一;七七数之,賸一,则置十五。一百六以上,以一百五 减之,即得。
术曰:三数剩一下七十,五数剩一下二十一,七数剩一下五十。三位并之得二百三十三,满一百五去之,减两个一百五,余二十三为答数
七数剩一,八数剩二,九数剩三,问本总数几何?答曰:四百九十八
明严恭《通源算法》:[1]
今有散钱不知其数,作七十七穿之,欠五十凑穿,若作七十八穿之,不多不少。问钱数若干?答曰:二千一百六文
三人同行七十希,五树梅花廿一支,七子团圆正半月,除百零五使得知
清代学者张敦仁在《求一算术》中提出大衍求一术源自《孙子算经》物不知数,后世学者,多从其说。但近年李俨、钱宝琮等学者提出大衍求一术很可能源自西汉《三统历》中计算上元积年的“通其率”近似法,其后《古四分历》和《乾象历》沿用此法。[3][4]
事实上,秦九韶在《数书九章序》中就写道:“独大衍法不载《九章》,未有能推之者,历家推演法颇用之”,“历家虽用,其用不知,小试经世,姑推所为,述大衍第一。”
秦九韶大衍总数术原载《数书九章》第一卷上 大衍类 《蓍卦发微》:
置诸元数,两两连环求等,约奇弗约偶,遍约毕,乃变元数,皆曰定母,列右行,各立天元一为子,列左行,以定诸母,互乘左行之子,各得名曰衍数,次以各定母满去衍数,各余名曰奇数,以奇数与定母,用大衍术求一。
定母:[,……]。
定母之中避免过多1,得到一个“1”即可。各定母为相应问数的因子;定母两两互为质数。定母的乘积称为衍母,是问数的最小公倍数。
当奇数≠1时,从定母和奇数,用大衍求一术计算乘率;(i=1……n)。
秦九韶用大衍求一术解:
大衍求一术云︰置奇右上,定居右下,立天元一于左上。先以右上除右下,所得商数与左上一相生,入左下。然后乃以右行上下,以少除多,递互除之,所得商数随即递互累乘,归左行上下。须使右上末后奇一而止,乃验左上所得,以为乘率。
大衍 | 奇数 | |
0 | 定母 |
1 | 65 | |
0 | 83 |
1 | 65 | 0 |
1 | 18 | 1 |
4 | 11 | 3 |
1 | 18 | 0 |
4 | 11 | 0 |
5 | 7 | 1 |
9 | 4 | 1 |
5 | 7 | 0 |
9 | 4 | 0 |
14 | 3 | 1 |
23 | 1 | 1 |
14 | 3 | 0 |
1 (mod 83)
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.