当前位置:首页 > 书籍文档 >

秦九韶算法口诀(秦九韶算法经典例题)

来源:原点资讯(www.yd166.com)时间:2023-06-06 05:49:46作者:YD166手机阅读>>

作者 | 张影

来源 |《数学元年》

“大衍求一术”是中国古代数学的一项杰出成就,给出了求二元一次方程整数特解的有效方法。

本文介绍“大衍求一术”的算法与数学原理,适合中学生课外阅读。

(一)为什么需要“大衍求一术”?

“大衍求一术”算法是我国南宋数学家秦九韶在他的著作《数书九章》中提出的,用来求“孙子定理”中的“关键数”。

以《孙子算经》中的“物不知数”问题为例:

已知正整数 除以 的余数分别为除以 的余数。

设已求得关键数 满足

则根据余数运算的原理,有

秦九韶算法口诀,秦九韶算法经典例题(1)

因为 分别是 的倍数,可知求 等价于求 使得

显然 符合要求,从而得到关键数

在后世的数学著作中,关键数通常利用歌诀来记忆。例如,明代数学家程大位在《算法统宗》中编写的歌诀为:

三人同行七十稀,

五树梅花廿一枝;

七子团圆正半月,

除百零五便得知。

“大衍求一术”的目标是破解这个关键问题,即:

求解一次同余式方程

其中 是互素的正整数。

(二)“大衍求一术”要意

对于互素的正整数对 “大衍求一术”算法实际上给出二元一次方程

的一组非负整数解

前文“怎样求最大公因数”(“数学元年”公众号2022年10月9日),利用求最大公因数的更相减损过程,给出了求上述二元一次方程的一组非负整数解的简单的逐步提升算法。

秦九韶之所以要创造“大衍求一术”这样的新算法,是与中国古代数学的筹算技术密切相关的。

利用筹算进行求最大公因数的更相减损过程,不便于保留中间过程。因此更相减损过程停止后,实际上无法利用提升算法来逐步回退提升求解。

“大衍求一术”的优点是,随着辗转除法的进行,在第 步(设余数为 ) 得到 及 满足

最终,当辗转除法在第 步停止时(可能需要人为地增加一步调整除法),刚好得到

因此 是 的一组解。

(三)“大衍求一术”的算法与解释

设 是互素的正整数。

改进的“大衍求一术”算法的目标是:求出方程

的一组非负整数解

算法每一步的结果是两行三列的数表,形如:

它的上下两行分别满足条件:

算法的初始状态设定为:

如果 则 满足要求。

前两步算法按 和 分情形说明。

情形一

. 设 除以 的带余数除法的结果为:

用所得的商 分别去乘初始数表中对应于 的两数 并把结果加到对应于 的两数 上,再把 更新为余数 得到第1步的结果:

容易验证,数表的第一行的意义是:

. 如果 则算法结束。设 且 除以 的带余数除法的结果为:

用所得的商 分别去乘对应于 的两数 并把结果加到对应于 的两数 上,再把 更新为余数 得到第2步的结果:

容易确认,数表的第二行的意义是:

情形二

. 设 除以 的带余数除法的结果为:

用所得的商 分别去乘初始数表中对应于 的两数 并把结果加到对应于 的两数 上,再把 更新为余数 得到第1步的结果:

容易确认,数表的第二行的意义是:

. 设 除以 的带余数除法的结果为:

用所得的商 分别去乘对应于 的两数 并把结果加到对应于 的两数 上,再把 更新为余数 得到第2步的结果:

容易确认,数表的第一行的意义是:

. 一般地,“大衍求一术”算法每一步的结果,或者形如

分别代表如下等式:

或者形如

分别代表如下等式:

. 这个过程一直进行下去,终止于

终止的条件是:数表的上行右列的数

5. 特别地,如果辗转相除的过程终止于下行的 (此时 ) 需要人为地增加一步“除法”,强制要求余数等于 即:

其中 算法随即终止,得到数表:

算法终止:此时,数表上行右列的数 从而有等式

这就得到了 的非负整数解

:需要注意,秦九韶的“大衍求一术”的初始设定及每一步运行的结果都是两行两列的数表,只能求出所需的 的值。本文增添了中间一列,从而同时求出 的值。

(四)“大衍求一术”举例

本节通过例子,演示“大衍求一术”算法的过程。

例1求 的一组正整数解。

初始数表







020
027

第1步结果







020
7

第2步结果

67 第3步结果

6 第4步结果







2317

因此得到一组正整数解 即有

例2求 的一组正整数解。

初始数表







096
067

第1步结果







29
067

第2步结果







29
9

第3步结果







710
9

第4步结果







710
3043

第5步结果







3753
3043

因此得到一组正整数解 即有

练习1求方程 的一组正整数解。

练习2求方程 的一组正整数解。

(五)“大衍求一术”原文

秦九韶《数书九章》第一卷的“大衍求一术”原文是:

大衍求一术云:置奇右上,定居右下。与天元一于左上。先以右上除右下,所得商数,与左上一相生,入左下。然后乃以右行上下,以少除多,递互除之,所得商数随即递互累乘,归左行上下。须使右上末后奇一而止。乃验左上所得,以为乘率。

秦九韶算法口诀,秦九韶算法经典例题(2)

需要注意,“除”的意思是“去除”,不是“除以”。

我国现行的中小学数学教科书,把“除以”简化为“除”,大谬。

了解“大衍求一术”原文的详细解读,可以参考:

沈康身《中国数学史大系·第五卷 两宋》第四章

秦九韶算法口诀,秦九韶算法经典例题(3)

关于“大衍求一术”原理的证明,可以参考:

万哲先《孙子定理和大衍求一术》高等教育出版社,1989.5

秦九韶算法口诀,秦九韶算法经典例题(4)

(六)结束语

“大衍求一术”为解一次同余式方程组提供了关键工具,从而在中国古代历法关于“上元积年”的计算中起着重要作用。

不过,明朝中叶以后,“大衍求一术”几乎失传,直到十九世纪才被考证重现,并稍加改进。

从现代数学的角度来看,“大衍求一术”可以帮助理解著名的矩阵群 的结构。

“大衍求一术”,汇古通今。它从历史中走来,引领我们踏进美丽的数学花园。

秦九韶算法口诀,秦九韶算法经典例题(5)

栏目热文

秦九韶算法哪本书学的

秦九韶算法哪本书学的

封面新闻记者 张杰出生于四川普州(今安岳)的南宋数学家秦九韶,1247年完成数学名著《数书九章》。其“秦九韶算法”、推导...

2023-06-06 06:06:11查看全文 >>

简述秦九韶数学成就(秦九韶数学成就的特点及原因)

简述秦九韶数学成就(秦九韶数学成就的特点及原因)

在第二批四川历史名人名单中,他是唯一一名“理科生”。他所开创的大衍求一术,也就是现代数学中的求解一次同余式方程...

2023-06-06 06:25:51查看全文 >>

秦九韶算法公式(秦九韶算法公式中的V0)

秦九韶算法公式(秦九韶算法公式中的V0)

求证秦九韶“三斜求积”公式与海伦公式,已知三角形的三边求面积。引述上一篇推文的三句话。由三角形的三边a,b,c直接求出三...

2023-06-06 05:55:19查看全文 >>

秦九韶算法最易懂的方法(秦九韶算法解题步骤)

秦九韶算法最易懂的方法(秦九韶算法解题步骤)

初中学习平面几何时,我们曾经学过三角形的三边边长固定,那么这个三角形就是固定形状了,理论上各个相关属性也都是固定的,比如...

2023-06-06 05:45:46查看全文 >>

秦九韶算法全集(秦九韶算法例题)

秦九韶算法全集(秦九韶算法例题)

南宋时期,中国的数学发展达到了一个高峰,出现了许多杰出的数学家,如李冶、杨辉、朱世杰等。其中,秦九韶(1208年-126...

2023-06-06 06:19:45查看全文 >>

秦九韶写了数学著作(宋代数学家秦九韶的数学著作是)

秦九韶写了数学著作(宋代数学家秦九韶的数学著作是)

在重庆涪陵白鹤梁千年题刻所涉及的众多历史人物中,有一位至今仍被世界学界专家关注、具有世界级影响力、体现中国智慧的古代数学...

2023-06-06 06:02:29查看全文 >>

秦九韶写的著作(秦九韶的数学著作是什么)

秦九韶写的著作(秦九韶的数学著作是什么)

●他的正式职业是官员,研究数学仅是他的业余爱好●他把研究应用在测量田亩等实际工作中●世界各国从小学、中学到大学的数学课程...

2023-06-06 06:04:07查看全文 >>

宋代著名数学家秦九韶著作(宋代著名数学家秦九韶的著作是哪一部)

宋代著名数学家秦九韶著作(宋代著名数学家秦九韶的著作是哪一部)

1.一般认为,英国数学家()首次以“x”表示两数相乘。A.艾萨克·牛顿B.威廉·奥特雷德答案:A解析:艾萨克·牛顿,就是...

2023-06-06 06:16:58查看全文 >>

秦代数学家秦九韶(数学家秦九韶的著作)

秦代数学家秦九韶(数学家秦九韶的著作)

作者:《巴蜀史志》编辑部 考拉看看(创生文化) 来源:四川省地方志工作办公室 发布时间:2021-09-09 14:45...

2023-06-06 05:53:36查看全文 >>

秦九韶的著作有什么(秦九韶的著作什么提出了正负开方数和大眼球艺术)

秦九韶的著作有什么(秦九韶的著作什么提出了正负开方数和大眼球艺术)

封面新闻记者 荀超第二批四川历史名人秦九韶,是我国古代宋元数学研究高峰时期的主要代表人物,南宋著名数学家。他精...

2023-06-06 05:56:36查看全文 >>

文档排行