最新中国古代数学中的算法案例

合集下载

高中数学人教新课标B版必修3--《1.3中国古代数学中的算法案例》课件4

高中数学人教新课标B版必修3--《1.3中国古代数学中的算法案例》课件4

先算最内层的一次多项式的值,即
v1 anx an1
然后,由内到外逐层计算一次多项式的值,即
v2 v1x ቤተ መጻሕፍቲ ባይዱn2
共计算多少
v3 v2 x an3
次乘法,多 少次加法?
v n v n1 x a 0
共计算n次乘法,n次加法
这种将求一个n次多项式f(x)的值转化成求n个一
次多项式的值的方法,称为秦九韶算法。
1.用秦九韶算法计算多项式 f(x)=3x6+4x5+5x4+6x3+7x2+8x+1当x=0.4 时的值时,需要做乘法和加法的次数分 别是( A ) A.6,6 B.5,6 C.5,5 D.6,5
2.(2010·山东模拟)利用秦九韶算法计 算函数f(x)=x+2x2+3x3+4x4+5x5的值时, 需要做加法、乘法的次数分别为 ____4____、_____5___.
ank (k
1, 2,
,n)
这是一个在秦九韶算法中反复执行 的步骤,因此可用循环结构来实现。
思考3:该算法的程序框图如何表示?
二、程序框图: 开始
输入n, an, x V=an
i=n-1
i=i-1
i>=0? N
输出v
结束
v=vx+ai
输入ai
Y
理论迁移
例1:已知多项式f(x)=3x4+2x2+4x+2,用秦九韶 算法求f(-2)的值及V1,V3的值。 解:补全 f(x)=3x4+0x3+2x2+4x+2
课堂小结:
1、秦九韶算法的方法和步骤 2、秦九韶算法的程序框图

数学示范教案:中国古代数学中的算法案例

数学示范教案:中国古代数学中的算法案例

示范教案错误!教学分析在学生学习了算法的初步知识,理解了表示算法的算法步骤、程序框图和程序三种不同方式以后,再结合典型算法案例,让学生经历设计算法解决问题的全过程,体验算法在解决问题中的重要作用,体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.三维目标1.理解算法案例的算法步骤和程序框图,进一步体会算法的思想.2.引导学生得出自己设计的算法程序,提高分析问题和解决问题的能力.重点难点教学重点:引导学生得出自己设计案例的算法步骤、程序框图和算法程序.教学难点:编写算法案例的程序.课时安排2课时错误!第1课时求两个正整数最大公约数的算法导入新课思路1(情境导入).大家喜欢打乒乓球吧,由于东、西方文化及身体条件的不同,西方人喜欢横握拍打球,东方人喜欢直握拍打球,对于同一个问题,东、西方人处理问题方式是有所不同的.在小学,我们学过求两个正整数的最大公约数的方法:先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来。

当两个数公有的质因数较大时(如8 251与6 105),使用上述方法求最大公约数就比较困难.教师点出课题.思路2(直接导入).前面我们学习了算法步骤、程序框图和算法语句.今天我们将通过“更相减损之术”来进一步体会算法的思想.推进新课错误!错误!错误!讨论结果:(1)如果整数a能被整数b整除,则b称为a的一个约数.(2)两个整数m与n的公约数中的最大值称为m与n的最大公约数.(3)求两个整数a与b的最大公约数,“更相减损之术”的算法步骤:对于给定的两个数,以两数中较大数减去较小的数,然后将差和较小数构成一对新数,再用较大数减去较小的数,反复执行此步骤,直到差数和较小的数相等,此时相等的两数便为原两数的最大公约数.程序如下:错误!错误!思路1例求78和36的最大公约数.分析:用(a,b)形写出求解过程.解:(78,36)→(42,36)→(6,36)→(6,30)→(6,24)→(6,18)→(6,12)→(6,6).即78和36的最大公约数是6.点评:这种算法,只做简单的减法,操作方便、易懂,也完全符合算法的要求,它完全是机械的运算,据此很容易编出程序,在计算机上运算.思路2求294与84的最大公约数.分析:由于这两个数都是偶数,同除以2后再用“更相减损之术".解:∵294÷2=147,84÷2=42,∴取147与42的最大公约数后再乘2.(147,42)→(105,42)→(63,42)→(21,42)→(21,21).∴294与84的最大公约数为21×2=42.点评:当m与n均为偶数时,可以同除以2后再求解。

高中数学第一章算法初步1.3中国古代数学中的算法案例秦九韶算法素材新人教B版必修3

高中数学第一章算法初步1.3中国古代数学中的算法案例秦九韶算法素材新人教B版必修3

1.3 中国古代数学中的算法案例秦九韶算法
中国数学名家-秦九韶
秦九韶(1202~1261年),字道古,南宋普州安岳(今四川省安岳县)人。

,有记载则说秦九韶自称鲁郡(现山东滋阳、曲阜一带)人,幼年时随父亲在四川巴州居住。

青少年时饱受战乱,成年后离开四川,在湖北、安徽、江苏、浙江、广东等地做官,任过县尉、通判、州守等职,死于梅州(今广东梅县)。

秦九韶的突出数学成就表现为四个方面:
(1)“大衍求一术”。

即为一次同余式组解法。

西方解决同类问题的理论是高斯于1801年建立的,比秦九韶晚了554年。

他还把这种理论用于解决商功、利息、粟米、建筑等问题。

(2)线性方程组解法。

他在《数书九章》中解决了许多相当于线性方程组的问题,其中数字相当大,计算也很复杂。

他在“均货推本”题草中,井然有序地写出厂解题过程,这种解法与高斯消元法本质相当,但比高斯早约600年。

(3)高次方程数值解法。

他集秦汉以来“开方术”之大成,运用贾宪的“增乘开方法”,解决于数字高次方程有理数根和无理数根的近似值计算问题。

他所设计的演算程序被称为“秦九韶方法”。

西方同类问题的探究始于19世纪,他比意大利的鲁菲尼、英国的霍纳要早五、六百年。

(4)“三斜求积”。

他在《数书九章》中,依据分别为12、14、15的三边求出了相应的三角形面积,其方法具有一般性。

这与西方的海伦公式是等价的。

- 1 -。

1.3中国古代数学中的算法案例

1.3中国古代数学中的算法案例

三、概念形成
普 通 高 中 课 程 标 准
Liangxiangzhongxue
概念1.求两个正整数的最大公约数 概念1.求两个正整数的最大公约数 1.
当两个数比较大时( 8610与6300),使用上述方法 当两个数比较大时(如8610与6300),使用上述方法 ), 求最大公约数就比较困难。 求最大公约数就比较困难。下面我们介绍两种古老而有效 的算法——辗转相除法与更相减损术。 ——辗转相除法与更相减损术 的算法——辗转相除法与更相减损术。 (1)辗转相除法(*) 辗转相除法(*) 例子:辗转相除法求8610和6300的最大公约数。 例子:辗转相除法求8610和6300的最大公约数。 8610 的最大公约数 为了简洁,我们把8610和6300的最大公约数记作(8610, 为了简洁,我们把8610和6300的最大公约数记作(8610, 8610 的最大公约数记作 6300)。 6300)。 把8610变为下式 8610变为下式 6300× 8610 = 6300×1 + 2310 Bqr6401@
Hale Waihona Puke Bqr6401@三、概念形成
普 通 高 中 课 程 标 准
Liangxiangzhongxue
概念2.割圆术 概念2.割圆术 2.
所谓“割圆术” 所谓“割圆术”,是用圆内接正多边形的周长去无限 逼近圆周并以此求取圆周率的方法。这个方法, 逼近圆周并以此求取圆周率的方法。这个方法,是我国魏 晋时期刘徽在批判总结了数学史上各种旧的计算方法之后, 晋时期刘徽在批判总结了数学史上各种旧的计算方法之后, 经过深思熟虑才创造出来的一种崭新的方法。 经过深思熟虑才创造出来的一种崭新的方法。 可以想象,在当时需要付出多么 按照这样的思路,刘徽把圆内接 刘徽从圆内接正六边形把圆周等 可以想象, 按照这样的思路, 分为六条弧的基础上,再继续等分, 艰辛的劳动。 正多边形的面积一直算到了正3072 3072边 正多边形的面积一直算到了正3072边 分为六条弧的基础上,再继续等分, 艰辛的劳动。现在让我们用刘徽的思 把每段弧再分割为二, 3.14和 使用计算机求圆周率的近似值。 形,并由此而求得了圆周率 为3.14和 把每段弧再分割为二,做出一个圆内 想 使用计算机求圆周率的近似值。 接正十二边形, 3.1416这两个近似数值 这两个近似数值。 计算机的最大特点是运算速度快, 接正十二边形,这个正十二边形的周 3.1416这两个近似数值。这个结果是 计算机的最大特点是运算速度快,只 要我们将运算方法告诉计算机, 长不就要比正六边形的周长更接近圆 要我们将运算方法告诉计算机,计算 当时世界上圆周率计算的最精确的数 周了吗?如果把圆周再继续分割,做” 周了吗?如果把圆周再继续分割, 机会迅速得到所求的答案。“割圆术” 据。刘徽对自己创造的这个“割圆术 机会迅速得到所求的答案。 刘徽对自己创造的这个 成一个圆内接正二十四边形, 新方法非常自信, 成一个圆内接正二十四边形,那么这 新方法非常自信,把它推广到有关圆 形计算的各个方面, 个正二十四边形的周长必然又比正十 形计算的各个方面,从而使汉代以来 二边形的周长更接近圆周。 的数学发展大大向前推进了一步。 二边形的周长更接近圆周。 的数学发展大大向前推进了一步。 Bqr6401@

课件3:1.3 中国古代数学中的算法案例

课件3:1.3 中国古代数学中的算法案例
解:f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8. v1=5×5+2=27; v2=27×5+3.5=138.5; v3=138.5×5-2.6=689.9; v4=689.9×5+1.7=3451.2; v5=3451.2×5-0.8=17255.2. 所以f(5)=17255.2.
这种将求一个n次多项式f(x)的值转化成求n个一次多项式的 值的方法,称为__秦__九__韶__算__法__. 秦九韶算法的特点: 通过一次式的反复计算,逐步得出高次多项式的值,对于 一个n次多项式,只需做n次乘法和n次加法即可.另外这种 算法还避免了对自变量x单独做幂的计算,而是与系数一起 逐次增长幂次,从而可提高计算的精度.
思考2 两种算法各用了几次乘法运算和几次加法运算? 解: 算法一共做了1+2+3+4=10次乘法运算,5次加法运算; 算法二共做了4次乘法运算,5次加法运算. 通过对比,很明显,算法二比算法一优越,这种算法就是 秦九韶算法.
思考3 秦九韶算法的概念和特点是怎样的呢?
解答: 设 f (x)是一个n 次多项式,
1.3 中国古代数学中的算法案例
算法案例一 更相减损术
思考1 小学学过的求两个数的最大公约数的方法是 怎样呢?
解答: 先用两个公有的质因数连续去除,一直除到所得 的商是互质数为止,然后把所有的除数连乘起来.
例1:求两个正整数的最大公约数:
(1)求25和35的最大公约数; (2)求49和63的最大公约数. 解:
谢谢!!!
算法案例二 秦九韶算法
思考1 想想怎样求多项式f(x)=x5+x4+x3+x2+x+1当 x=5时的值呢? 解:

[指导]1.3中国古代数学中的算法案例

[指导]1.3中国古代数学中的算法案例

v2=v1x+3=42×8+3=339
v3=v2x+0=339×8+0=2712
v4=v3x+1=2712×8+1=21697
v5=v4x-8=21697×8-8=173568
∴ f(8) =173568
h 5次加法,5次乘法
9
所以:78和36的最大公约数是6 理论依据: 由a-b=r → a=b+r,得(a, b)与(b, r)有相同的公约数.
更相减损术
h
3
例1 :用等值算法(更相减损术)求下列两数的最大公约数。 (1)225,135; (2)98,280.
答案: (1) 45;
(2) 14.
h
h
1
1. 求两个正整数最大公约数的算法 问题:求78和36的最大公约数。
2
78 36
3 39 18
13 6 所以:78和36的最大公约数是2×3=6
思考:假设a和b的最大公约数p,那么a-b,或是b-a 是否能被p整除?
h
2
例如,求78和36的最大公约数:
(78,36) → (42,36) → (6,36) → (6,30) → (6,24) → (6,18) → (6,12) → (6, 6).
∴ f(5) =2677 总结:这样共作了5次加法,5次乘法.
h
秦九韶算法
8
练习:用秦九韶算法求多项式f(x)=5x5+2x4+3x3+x-8当x=8时的值,并回答需要几 次乘法?几次加法?
解: f(x)= 5x5+2x4+3x3+0x2+x-8 f(x) =((((5x+2)x+3)x+0)x+1)x-8, x=8 v0=5 v1=v0x+2=5×8+2=42

原创1:1.3中国古代数学中的算法案例

原创1:1.3中国古代数学中的算法案例

练习
将下面的十进制数化为二进制数?
(1)10 (2)20 (3)128 (4)256
3、十进制转换为其它进制
例3 把89化为五进制数
解:根据除k取余法
以5作为除数,相应的除法算式为:
5
5
89
17
5 3
0
所以,89=324(5)。
余数
4
2
3
小结与作业
再见
一个循环结构。
m=n×q+r
8251=6105×1+2146
用程序框图表示出右边的过程
6105=2146×2+1813
r=m MOD n
2146=1813×1+333
m=n
1813=333×5+148
n=r
r=0?


333=148×2+37
148=37×4+0
思考:你能把辗转相除法编成一个计算机程序吗?
行此步骤直到差数和较小的数相等,此时相等的两
数便为原来两个数的最大公约数。
3、方法:
例: 用更相减损术求98与63的最大公约数.
解:由于63不是偶数,把98和63以大数减小数,
并辗转相减
98-63=35
63-35=28
35-28=7
28-7=21
21-7=21
14-7=7
所以,98和63的最大公约数等于7
练习:
1、用更相减损术求两个正数84与72的最大公约数.
思路分析:先约简,再求21与18的最大公约数,
然后乘以两次约简的质因数4。
2、求324、243、135这三个数的最大公约数。
思路分析:求三个数的最大公约数可以先求出两个

1.3中国古代数学中的算法案例

1.3中国古代数学中的算法案例

1.3中国古代数学中的算法案例(二)
秦九韶算法 设计求多项式f(x)=2x5-5x4-4x3+3x2- 6x+7当x=5时的值的算法,并写出程序。 一般的解决方案
x=5; f=2 * x^5 – 5 * x^4 – 4 * x^3 + 3 * x^2 – 6 * x + 7;
f
上述算法一共做了解15次乘法运算,5 次加法运算. 优点是简单,易懂;
开始
算理: 记为a;
a=b×t+c; 若c≠0,记a=b, b=c,返 回第2步进行循环; 若c=0,输出b.
输入a,b
先找到a,b中较大的, c = a Mod b
c=a mod b b=c a=b c≠0 N 输出b 结束 Y
更相减损术 例如,求78和36的最大公约数: 以两数中较大的数减去较小的数,即78 -36=42;以差数42和较小的数36构成新 的一对数; 对这一对数再用大数减去小数,即42 -36=6,再以差数6和较小的数36构成新 的一对数;
对这一对数再用大数减去小数,即36- 6=30,再构成新的一对数;
继续这一过程,直到产生一对相等的数, 这个数就是最大公约数. 操作如下: (78,36) → (42,36) → (6,36) → (6,30) → (6,24) → (6,18) → (6,12) → (6,6). 理论依据: 由a-b=r → a=b+r,得(a, b)与(b, r)有相 同的公约数.
1.3中国古代数学中的算法案例(一)
过程与方法
改变解决问题的思路,要将抽象的思想思 维转变为具体的思维方法,提高逻辑思维 能力。
情感、态度与价值观
通过学生的主动参与,师生、生生的合作交流,培 养学生的探索精神,同时体会中国古代数学对世界 数学发展的贡献,增强爱国主义精神。

新人教B版必修三1.3《中国古代数学中的算法案例》ppt课件1

新人教B版必修三1.3《中国古代数学中的算法案例》ppt课件1

S=42,i=21
说明:“S=S+5” 的意思是将 S+5 后的值赋给 S
思考: “S=S+i ” 是什么意思? “i=i+1”呢?
概念探究—实践
例1 如何画出1+2+3+……+100的框图? 思考一:有没有改进措施? 思考二:框图正确吗?如何改?
初始值 循环条件
累计变量
计数变量
循环体
概念形成—探索
S=1+2+3+……+100
n

S

nn==1n012301+2+11
输出S
结结束束
思考: (1)初值改为S=0,n=1;或者
S=1,n=2行吗?
(2) S=S+i,i=i+1分别有何作用?
曲径通幽
如果改为另一种结构如何修改?
开始
开始
初SS=始=00值,i,=i=11 i≤条1件00 否
是 累S计=变S+量i
人教出版社B版 必修三 算法初步
1.1.3 算法的基本逻辑结
构----循环结构
创设情境
问题1: 核裂变原理 如果轰击64次铀核,如何求释放出的总能量?
次数 铀核 11 2 21 3 22 4 23 …… 64 263
概念探究—温故
如何求1+2+4+……+263 的值?
思考:用我们已经学过的顺序结构和条件分支结构能
分析:
n an an+1 an+2
11
12
21
23
32 3 5
43 55
58 8 13
2= 1+1 3= 1+2 5= 2+3 8= 3+5 13=5+8

古代数学中的算法案例

古代数学中的算法案例

古代数学中的算法案例古代数学是人类发展历史中的重要组成部分,古代数学家们在没有现代计算设备的情况下,通过发展各种算法来解决实际问题。

以下是几个古代数学中的算法案例。

一、埃及乘法算法埃及乘法算法起源于古埃及时期,被用于解决大数字的乘法问题。

这个算法的基本思想是将一个数字分解为2的幂的和,然后将每个分解项相乘,最后将乘积相加得到结果。

例如,计算15乘以23,首先将15分解为2的幂的和,即15=1+2+4+8,然后将23与每个分解项相乘,得到23、46、92和184、最后将这些乘积相加,得到345,即15乘以23的结果。

二、中国割补算法中国割补算法是中国古代数学中的一种乘法算法,用于计算两个数的乘积。

这个算法的核心思想是通过不断削减和补充相乘数的位数,最终得到乘积。

以计算13乘以21为例,首先将13和21写成两列:```1321--23```然后将第一列的数字逐次除以2,直到最后为0,同时将第二列的数字逐次乘以2、每次除以2时,如果结果为奇数,则将第二列当前行的数字加到最后的乘积上,如果结果为偶数,则不加。

最后将所有加上的数字相加,得到乘积。

在这个例子中,结果为273三、印度乘法算法印度乘法算法是古印度数学中的一种乘法算法,用于计算两个数的乘积。

这个算法的基本思想是将一个数字分解为2的幂的和,然后将每个分解项与另一个数字相乘,最后将乘积相加得到结果。

以计算23乘以16为例,首先将23表示为2的幂的和,即23=1+2+4+16、然后将每个分解项与16相乘,得到16、32、64和256、最后将这些乘积相加,得到368,即23乘以16的结果。

四、巴比伦平方根算法巴比伦平方根算法是古巴比伦数学中的一种算法,用于求一个数字的平方根。

这个算法的基本思想是通过迭代逼近的方式,不断改进平方根的近似值。

例如,求解数字10的平方根。

首先假设一个初始近似值,例如2、然后通过将这个近似值与10除以这个近似值的平均值相加,得到新的近似值。

新人教B版必修三1.3《中国古代数学中的算法案例》ppt课件2

新人教B版必修三1.3《中国古代数学中的算法案例》ppt课件2

r=m MOD n m=n n=r
r=0?


6105=2146×2+1813 2146=1813×1+333 1813=333×5+148
333=148×2+37 148=37×4+0
思考:你能把辗转相除法编成一个计算机程序吗?
(1)、算法步骤:
第一步:输入两个正整数m,n(m>n). 第二步:计算m除以n所得的余数r. 第三步:m=n,n=r. 第四步:若r=0,则m,n的最大公约数等于m;
第三步:把a-b的差赋予r;
第四步:如果b>r, 那么把b赋给a,把r赋给b;否 则把r赋给a,执行第二步;
第五步:输出最大公约数b.
(2)、程序框图
开始
输入a,b
a≠b?


r=a-b
否 a=r
r<b?

a=b
b=r
输出b 结束
(3)、程序
INPUT “a,b=“;a,b WHILE a<>b
r=a-b IF b>r THEN a=b b=r ELSE a=r END IF WEND PRINT b END
小结
比较辗转相除法与更相减损术的区别
(1)都是求最大公约数的方法,计算上辗转相除 法以除法为主,更相减损术以减法为主,计算次数 上辗转相除法计算次数相对较少,特别当两个数字 大小区别较大时计算次数的区别较明显。
1、定义: 所谓辗转相除法,就是对于给定的两个
数,用较大的数除以较小的数。若余数不为 零,则将余数和较小的数构成新的一对数, 继续上面的除法,直到大数被小数除尽,则 这时较小的数就是原来两个数的最大公约数。

高中数学 1.3中国古代数学中的算法案例课件 新人教B版必修2

高中数学 1.3中国古代数学中的算法案例课件 新人教B版必修2
把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如 下形式: (…((anx+an-1)x+an-2)x+…+a1)x+a0,
最内层括号内 一次多项式的 求多项式的值时,首先计算______________ v0x+an-1 ,然后由内向外逐层计算一次多项式 值,即v1=___________
积就是所求的最大公约数.
割圆术的算法思想 2.
刘徽从圆内接正六边形开始,让边数逐次加倍,逐个算出
这些圆内接正多边形的面积,从而得到一系列逐渐递增的 数值,来一步一步逼近圆面积,最后求出圆周率的近似 值.用刘徽自己的话概括就是“割之弥细,所失弥少,割 之又割,以至于不可割,则与圆合体而无所失矣.”
3. 秦九韶算法
【变式2】 用秦九韶算法计算f(x)=6x5-4x4+x3-2x2-9x,需 要加法(或减法)与乘法运算的次数分别为
5-2=3 3-2=1
所以80与36的最大公约数为4.
题型二
秦九韶算法在多项式中的应用
【例=2的值.
改写成一次 由内 审 题 指 导 多项式求值 ―――――→ 秦九韶算法 ――→ 多项式的形式 向外 结果
[规范解答] 根据秦九韶算法,把多项式改写成如下形式:
规律方法
利用更相减损术求两个正整数的最大公约数的
一般步骤是:首先判断两个正整数是否都是偶数.若是, 用2约简.也可以不除以2,直接求最大公约数,这样不影 响最后结果.
【变式1】用更相减损术求80和36的最大公约数. 解 80÷2=40 36÷2=18 40÷2=20 20—9=11 9-2=7 2-1=1 18÷2=9 11-9=2 7-2=5 1×2×2=4
=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =(…((anx+an-1)x+an-2)x+…+a1)x+a0. S1 计算最内层anx+an-1的值,将anx+an-1的值赋给一
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
欧几里得
如何使用
以求288和123的最大公约数为例,操作如下:
S1:28 S3:42÷39=1……3 S4:39÷3=13
这是一个辗转相 处的过程……
∴ 3就是288和123的最大公约数。
理论依据
a n r b r a nb
得 a, b 与 b, r 有相同的公约数
刘徽形容他的“割圆术”
说:割之弥细,所失弥少, 割之又割,以至于不可割, 则与圆合体,而无所失矣。
简单来说所谓“割圆 术”,是用圆内接正多边 形的周长去无限逼近圆周 并以此求取圆周率的方法。
计算方法
第一,从半径为1的圆内接正六边形开始, 计算它的面积S6;
第二,逐步加倍圆内接正多边形的边数, 分别计算圆内接正十二边形,正二十四 边形,正四十八边形,…的面积,到一
开始 输入x,n;a0,a1,a2,…,an
k=n, f=an
k>0


k=k-1
f=f*x +ak
输出S 结束
Scilab语言:
x=input("x="); n=input("n="); result=input("The first xishu"); for i=1 : 1 : n
a=input("xishu: "); result=result*x+a; end disp(result,"The result is:");
所以辗转相除法更好一些。
割圆术
早在我国先秦时期,《墨经》上就已 经给出了圆的定义。我国古代数学经 典《九章算术》在第一章“方田”章 中写到“半周半径相乘得积步”,也 就是我们现在所熟悉的公式。
为了证明这个公式,我国魏晋时期数 学家刘徽写了一篇1800余字的注记, 这篇注记就是数学史上著名的“割圆 术”。
第一步:输入两个 正整数a,b(a>b);
第二步:求出a÷b 的余数r;
第三步:令a=b, b=r,若r≠0,重复第二 步;
第四步:输出最大 公约数a.
更相减损术和辗转相除法的主要区别在于:
前者所使用的运算是“减”,后者是“除”。从算法
思想上看,两者并没有本质上的区别,但是在计算过 程中,如果遇到一个数很大,另一个数比较小的情况 ,可能要进行很多次减法才能达到一次除法的效果,
程序编写
n=6;
s=s+n*x*(1-h)/2;
x=1; s=6*sqrt(3)/4;
n=2*n; x=sqrt((x/2)^2+(1-
for i=1 : 1 : 5
h)^2);
h=sqrt(1-(x/2)^2); end
print(%io(2), n, s)
秦九韶(1208年-1261年) 南宋官员、数学家,与李冶、杨辉、 朱世杰并称宋元数学四大家。字道 古,汉族,自称鲁郡(今山东曲阜) 人,生于普州安岳(今属四川)。 精研星象、音律、算术、诗词、弓 剑、营造之学,历任琼州知府、司 农丞,后遭贬,卒于梅州任所,著 作《数书九章》,其中的大衍求一 术、三斜求积术和秦九韶算法是具 有世界意义的重要贡献。
定的边数(设为2m)为止,得到一列递
增的数,
S6,S12,S24,S48,…,S2n.
第三,S2n近似等于圆面积。
下面的关键是找出正n边形的面积与正2n
边形的面积之间的关系,以便递推。
设圆的半径为1,正n边形
的边长AB为xn,弦心距OG
为hn;面积为Sn,根据勾股
定理,得:
hn
1
xn 2
2
,
已知一个一元n次多项式函数: P(x)=anxn+an-1xn-1+……+a1x+ao
当知道x值时,我们可以按顺序一项一项的计算, 然后相加,求出P(x)
设有n+1项的n次函数,即: 将前n项提取公因数x ,得: 再将括号内的前n-1项提取公因数x,得:
如此反复提取公因数x ,最后将函数化为:
中国古代数学中的算法案例
最大公约数
算法表示
S1:输入两个正数a,b(a>b) ; S2:如果a≠b,则执行S3,否则转到S5; S3:将a-b的值赋予r; S4:若b>r,则把b赋予a,把r赋予b,否则把
r赋予a,重新执行S2; S5:输出最大公约数b.
开始 输入a,b
a≠b N
输出b
a=a-b
b=b-a
Y
a> N
Y
b
结束
程序:
a=input(“a=”); b=input(“b=”);
while a<>b if a>=b a=a-b;
else b=b-a;
end end print(%io(2), b, “两数的最大公约数
辗转相除法
辗转相除法
辗转相除法最早出现 在欧几里得的几何原本 中(大约公元前300 年),所以它是现在仍 在使用的算法中最早出 现的。
《数书九章》在数学内容上颇多创新。中国算筹式记数 法及其演算式在此得以完整保存;自然数、分数、小数、负 数都有专条论述,还第一次用小数表示无理根的近似值;卷 1大衍类中灵活运用最大公约数和最小公倍数,并首创连环 求等,借以求几个数的最小公倍数;在《孙子算经》中“物 不知数”问题的基础上总结成大衍求一术,使一次同余式组 的解法规格化、程序化,比西方高斯创用的同类方法早500 多年,被公认为“中国剩余定理此外,秦九韶还改进了一次 方程组的解法,用互乘对减法消元,与现今的加减消元法完 全一致。

......
则: fn即为所求
怎样用程序框图表示秦九韶算法 ?
观察秦九韶算法的数学模型,计算vk时 要用到fk-1的值,若令f0=an,我们可以得 到下面的递推公式: f0=an fk=fk-1·x+an-k (k=1, 2, …, n)
这是一个在秦九韶算法中反复执行的 步骤,可以用循环结构来实现。
x2n
xn 2
2
1hn
2
(n6)
容易知道x6=1,
正2n边形的面积等于正n
边形的面积加上n个等腰三
角形的面积,即
S 2 n S n n1 2x n( 1 h n ) (n 6 )
于是由 S6 6
3 4
求得S12=3;
S24≈3.105828;……
按照这样的思路, 刘徽把圆内接正多 边形的面积一直算 到了正3072边形, 并由此而求得了圆 周率 为3.14和 3.1416 这两个近似数值。 这个结果是当时世 界上圆周率计算的 最精确的数据。
相关文档
最新文档