《九章算术》开方算法系统及其与现代计算机程序的比较.docx

《九章算术》开方算法系统及其与现代计算机程序的比较.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《九章算术》开方算法系统 及其与现代计算机程序的比较 傅海伦 中国古代把开方法与二次、三次或高次数字方程解法统称为开方术。《九章算术》少广章 提出了完整的开平方、开立方程序 一、《九章算术》的开平方程序 开平方相当于求X2 = N的根。 开方术曰: 「置积为实。借一算,步之,超一等。议所得,以一乘所借一 算为法,而以除。除已,倍法为定法。其复除,折法而下。复置借算,步之如 初,以复议一乘之,所得副以加定法,以除。以所得副从定法。复除,折下如 《九章算术》给出的术文言简意赅,在开方筹式中每一个数字的记数和入 算,都严格遵循位置值制。由于其中明确指出:「复除,折而下」、「复除, 折下如前」,可见,这是一个具有一般性的机械化算法程序。即是说,不论平 方根有多少位数,反复实施这一程序都可求出来。所以,在此有必要对一般情 形下的这种机械化程序加以剖析。 以总的来说,开平方的程序是:首先作四行的筹式布算,即从上到下的四 行依次布以方根(「议所得」)、被开方数(实)、法和借算,然后机械反复 实施「超」、「议」、「除」、「折」的四大步骤,直至「适尽」、结束。 「超」:将置于个位上的借算自右向左隔一位移一步,移到与实的最高位 (N为奇数位)或次高位(N为偶数位时)对齐为止。若移 n位,这相当于将 方程进行倍根变换,变换后的方程为 102nxi2 = N的形式,如图(2) 「议」:议得根的第一位得数为 a1 「除」:以ai乘借算102n得102nai作为法。置于第三行,使得以法除实时, 恰得商ai,而余数N小于102nai2: N十(10务)=ai + Ni / 10务[2]。 折」:撤去借算,将法 102na1 加 倍为定法,并将定法向右退一位为 2? 102n —1ai如图(4),再在下行个位上布置借一算。 为求方根第二位得数,需要重复以上四个步骤: 「超」:将置于个位上的借算自右向左隔一位移一步,显然祇需移 n-1 步, 即1『_2如图(5),这又相当于求方程102_妇+ 2? 1『冷咲2 = N—10V的正根。 「议」:复议得根的第二位得数 a2 「除」: 以32乘借算102n— 2,加定法,得法:2? 102n— 1ai + 1『—2a2,同样以 法除实: (N— 102nai2)十(2? 102n—1a + 102n—2a) = a2 + 2/(2? 102n—1a1 + 102n—务),余 数N2小于(2? 10刀—1ai + 102n—2况归2。如图(6),如果余数为零,则开方完毕;若 不为零,则「折下如前」,按接下来的程序步骤继续开方。 通过对上述筹算开平方法的分析,可知它是根据下面这些公式来逐步 推求 的,与现代的迭代法完全一致,可以通过计算机来实现: (a + b)2 = a2 + (2a + b)b (a + b + c)2 = (a + b)2 + [2(a + b) + c]c 22 (a + b + c + d) = (a + b + c) + 2[(a + b + c) + d]d 开平方术文还有对几种特殊情况的处理方法:一是被开方数为分数的 情形, 要「通分内子」,若分母是平方数,贝扮子、分母分别开方,然后相除,即 b/a, 一二-厂:;若分母不可开,则以分母乘分子,开分子后再以分母除, 即A = b/a,A = at/a2,二 仁一 二是开方不尽的情形,这相当于求无理根, 称为不可开,求出整数部分后,「以面命之」。 显然,有了以上程序和处理方法,任何一个数可以开平方,说明《九 章算 术》的术文更具有抽象性、普适性。 二、《九章算术》的开立方程序 开立方相当于求x3 = N的根。 《九章算术》开立方术是: 开立方术曰:「置积为实。借一算,步之,超二等。议所得,以再乘所借 一算为法,而除之。除已,三之为定法。复除,折而下。以三乘所得数,置中 行。复借一算,置下行。步之,中超一,下超二等。复置议,以一乘中,再乘 下,皆副以加定法。以定除。除已,倍下,并中从定法。复除,折下如前。…」 对比开平方术和开立方术,不难看出,两种开方的程序基本上是统一 的, 都是通过筹式布算,机械重复地实施「超」、「议」、「除」和「折」的四大 步骤,直至适尽,结束。祇是在开立方的筹式布算中,在「法」和「借算」之 间增加一行「中行」,使原来的四行布算变为五行布算,并在相应的「超」和 「折」的步骤中有细小的变动或调整。对被开方数是分数、或分母不是立方的 情形,处理的方式也与开平方相同,这说明,开立方的程序也具有抽象性和普 适性,适应于任何一个数的开立方。根据术文,对一般情形下的开立方及其与 开平方程序过程的比较可见下表: 商 101cH 10 a1 10ai 10 a1 实 开 平 方 N N N - 102na2 N — 1『屛 N — 10

您可能关注的文档

文档评论(0)

yuxiufeng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档