新课标人教B必修三1-3中国古代数学中的算法案例(一) 新课标人教B版 .ppt

合集下载

人教B版高中数学必修三课件第一章1.3中国古代中的算法案例

人教B版高中数学必修三课件第一章1.3中国古代中的算法案例

2.用辗转相除法求a,b的最大公约数的算法步骤是什么? 提示:S1 输入正整数a,b(a>b). S2 用r表示a÷b的余数; S3 若r≠0,则将b的值赋给a,将r的值赋给b,转S2. S4 输出最大公约数b.
3.辗转相除法和更相减损之术的理论依据分别是什么? 提示:辗转相除法的理论依据是:由m=nq+r可以看出, m,n和n,r有相同的公约数.更相减损之术的理论依 据为:由m-n=r,得m=n+r,可以看出,m,n与n, r有相同的公约数,即二者的“算理”相似.
则递推公式为

v0=an vk=vk-1x+an-k
,其中 k=
1,2,…,n.
(2)计算 P(x0)的方法: 先计算 最内层的括号 ,然后 由内向外逐层计算,
直到 最外层括号 ,然后加上 常数项 .
[小问题·大思维] 1.任意两个正整数总能用辗转相除法求它们的最大公约
数吗? 提示:由除法的性质可以知道,对于任意两个正整数, 辗转相除法的步骤总可以在有限步之后完成,从而总可 以用辗转相除法求出两个正整数的最大公约数.
[悟一法] 利用秦九韶算法计算多项式的值,关键是能正确地将所 给多项式改写,然后由内向外逐次计算,当多项式函数 中间出现空项时要以系数为零的齐次项补充.由于后项 计算需用到前项的结果,故应认真细心确保中间结果的 准确性.
[通一类] 2.[例题多维思考]本例中将f(x)变为f(x)=x5+2x4+3x3
求三个数168,56,264的最大公约数. [巧思] 求三个数的最大公约数应先求其中两个数的最大公 约数,再求这个最大公约数与第三个数的最大公约数. [妙解] 法一:采用更相减损之术求解.
先求168与56的最大公约数: 168-56=112,112-56=56,因此 168与56的最大公约数是56.

人教版高中必修3(B版)1.3中国古代数学中的算法案例课程设计

人教版高中必修3(B版)1.3中国古代数学中的算法案例课程设计

人教版高中必修3(B版)1.3 中国古代数学中的算法案例课程设计课程简介本课程将介绍中国古代数学中的算法案例,包括“过鸡抵毁”、“商功开方”、“勾股定理”等,旨在通过了解这些古代算法的实际运用,提高学生的数学思维和解决问题的能力。

课时安排本课程设计共设置4个课时,每个课时约45分钟。

课时主题内容第一课时介绍介绍中国古代数学中的算法案例第二课时过鸡抵毁讲解过鸡抵毁算法及其应用第三课时商功开方讲解商功开方算法及其应用第四课时勾股定理讲解勾股定理及其应用课程内容第一课时:介绍在第一课时中,将向学生介绍中国古代数学中的算法案例,包括各算法的基本概念、历史渊源以及现实应用。

同时,也会引导学生认识到古代数学在如今应用的广泛性。

通过讲解,让学生建立对古代数学的基本认知和认识。

第二课时:过鸡抵毁第二课时主要讲解“过鸡抵毁”算法。

这是一种古代算法,其可以用来解决一些几何问题,例如“如何用一块固定面积的木板去切割另一块面积未知的木板,使得两块木板面积相等”。

在讲解的同时,需要与学生一起做一些实际操作,例如让学生进行拼图操作,以加深学生对算法的理解。

同时也要阐述“过鸡抵毁”算法在现实生活中的应用,例如灭蚊草的研发过程中应用了该算法。

第三课时:商功开方第三课时主要讲解“商功开方”算法。

该算法可用来求解二次方程的解。

讲解中需要引导学生深入理解算法原理,例如如何将二次方程转换成商功差式再求解。

同时需要和学生一起进行实际操作,例如用解二次方程,以加深学生对算法的理解。

在讲解过程中,也需要提及“商功开方”算法在现实生活中的应用,例如在导弹制导和卫星轨道计算中的应用。

第四课时:勾股定理第四课时主要讲解“勾股定理”。

在讲解中,需要引导学生对勾股定理的几何意义进行深入理解,例如如何用直角三角形三边长度来计算直角三角形的面积。

同时需要和学生一起进行实际操作,例如用勾股定理计算直角三角形的梯形面积,以加深学生对算法的理解。

在讲解过程中,还需要提及勾股定理在现实生活中的应用,例如在建筑工程、电路设计、地图测量等方面广泛应用。

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

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

课堂讲义
跟踪演练2 用秦九韶算法计算f(x)=6x5-4x4+x3-2x2-9x,需 要加法(或减法)与乘法运算的次数分别为( ) A.5,4 B.5,5 C.4,4 D.4,5 答案 D 解析 n次多项式需进行n次乘法;若各项均不为零,则需进行n 次加法,缺一项就减少一次加法运算.f(x)中无常数项,故加法 次数要减少一次,为5-1=4.故选D.
v2= v1x+an-2 , v3= v2x+an-3 ,
预习导学

vn= vn-1x+a0
.
这样,求n次多项式f(x)的值就转化为求 n个一次多项式 的值.
课堂讲义
要点一 求两个正整数的最大公约数 例1 用更相减损术求261和319的最大公约数.
解 319-261=58, 261-58=203, 203-58=145, 145-58=87, 87-58=29, 58-29=29,
高中数学·必修3·人教B版
1.3 中国古代数学中的算法案例
预习导学
[学习目标] 1.了解割圆术中无限逼近的数学思想. 2.理解更相减损术的含义,了解其执行过程. 3.掌握秦九韶算法的计算过程,并了解它提高计算效率的实
质.
预习导学
[知识链接] 1.20和30的最大公约数为 10 . 2.已知函数f(x)=x2+2x-1,计算f(1)的值时用了 2 次乘法和
当堂检测
1.我国魏晋时期的数学家刘徽和祖冲之利用割圆术所得的圆周
率π是( )
A.准确值
B.近似值
C.循环小数 D.有理数
答案 B
当堂检测
2.自然数8 251和6 105的最大公约数为( ) A.37 B.23 C.47 D.111 答案 A 解析 利用更相减损之术可得它们的最大公约数为37.

人教B数学必修三讲义:第1章 1.3 中国古代数学中的算法案例 Word含答案

人教B数学必修三讲义:第1章 1.3 中国古代数学中的算法案例 Word含答案

1.3 中国古代数学中的算法案例一、更相减损之术(等值算法)1.更相减损之术(等值算法):用两数中较大的数减去较小的数,再用差数和较小数构成新的一对数,对这一对数再用大数减小数,以同样的操作一直做下去,直到产生一对相等的数,这个数就是最大公约数.2.用“等值算法”求最大公约数的程序:二、割圆术用圆内接正多边形面积逐渐逼近圆面积的算法计算圆周率的近似值.三、秦九韶算法1.把一元n 次多项式函数P (x )=a n x n +a n -1x n -1+…+a 1x +a 0改写为P (x )=a n x n +a n -1x n -1+…+a 1x +a 0=(a n x n -1+a n -1x n -2+…+a 1)x +a 0=((a n x n -2+a n -1x n -3+…+a 2)x +a 1)x +a 0=(…((a n x +a n -1)x +a n -2)x +…+a 1)x +a 0.令v k =(…(a n x +a n -1)x +…+a n -(k -1))x +a n -k ,则递推公式为:⎩⎨⎧v 0=a n ,v k =v k -1x +a n -k ,其中k =1,2,…,n . 2.计算P (x 0)的方法: 先计算最内层的括号,然后由内向外逐层计算,直到最外层的一个括号,然后加上常数项.1.我国古代数学发展一直处于世界领先水平,特别是宋、元时期的“算法”,其中可以同欧几里得辗转相除法相媲美的是( )A .中国剩余定理B .更相减损之术C .割圆术D .秦九韶算法 B [同欧几里得辗转相除法相媲美的是“更相减损之术”.]2.我国数学家刘徽采用正多边形面积逐渐逼近圆面积的计算方法来求圆周率π,其算法的特点为( )A .运算速率快B .能计算出π的精确值C .内外夹逼D .无限次地分割C [因为刘徽采用的是正多边形面积逐渐逼近圆面积的方法,所以其特点关键是“内外夹逼”.]3.秦九韶算法可解决下列问题中的( )A .求两个正整数的最大公约数B .求多项式的值C .求圆周率近似值D .计数问题B [秦九韶算法解决的是“求多项式的值”.]4.用更相减损术求81与135的最大公约数时,要进行________次减法运算.3[更相减损术的过程如下:(135,81)→(54,81)→(54,27)→(27,27),进行3次减法.]【例1】(1)204与85;(2)378与90.[思路探究]解答本题的关键是首先明确两数相差不大,再按更相减损之术的求解步骤求最大公约数.[解](1)第一步,204-85=119,119-85=34;第二步,85-34=51,51-34=17;第三步,34-17=17,因此,17是204与85的最大公约数.或者因为(204,85)→(119,85)→(34,85)→(34,51)→(34,17)→(17,17).所以17是204与85的最大公约数.(2)∵378与90都是偶数,∴用2约简得189和45.(189,45)→(144,45)→(99,45)→(54,45)→(9,45)→(9,36)→(9,27)→(9,18)→(9,9).∴378与90的最大公约数为2×9=18.1.在使用更相减损之术求两个正整数的最大公约数时,如果两个数都是偶数应提前约分,求得约简后的最大公约数后,再乘以约分的数即为所求.2.用更相减损之术时,当同一个数字连续重复出现时,一般它就是最大公约数.1.求325,130,270三个数的最大公约数.[解]325-130=195,195-130=65,130-65=65.所以325和130的最大公约数是65.270-65=205,205-65=140,140-65=75,75-65=10,65-10=55,55-10=45,45-10=35,35-10=25,25-10=15,15-10=5,10-5=5.所以270与65的最大公约数为5.所以325,130,270的最大公约数为5.【例2个数最大公约数的程序框图.[思路探究]关键是搞清等值算法的原理,需要反复执行某一操作,故用到循环结构.[解]程序框图如图所示:1.该程序的循环结构中套着一个条件分支结构,其主要作用是保证用较大数减较小数,不至出现负数.2.解决问题要先写程序,后画程序框图.2.根据课本第29页用“割圆术”的算法程序画出其相应的程序框图.[解]程序框图如图所示:[探究问题]1.怎样计算多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?统计所做的计算的种类及计算次数分别是什么?[提示]f(5)=55+54+53+52+5+1=3 906.根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算.2.我们把多项式变形为f(x)=x2(1+x(1+x(1+x)))+x+1,再统计一下计算当x=5时的计算的种类及计算次数分别是什么?[提示]从里往外计算仅需4次乘法和5次加法运算即可得出结果.3.怎样利用秦九韶算法把求n次多项式f(x)的值转化为求n个一次多项式的值?[提示]f(x)=a n x n+a n-1x n-1+a n-2x n-2+…+a1x+a0=(a n x n-1+a n-1x n-2+a n-2x n-3+…+a1)x+a0=((a n x n-2+a n-1x n-3+…+a2)x+a1)x+a0=……=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0求多项式的值时,首先计算最内层括号内一次多项式的值,即v1=a n x+a n-1,然后由内向外逐层计算一次多项式的值,即v2=v1x+a n-2,v3=v2x+a n-3,…,v n=v n-1x+a0,这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.【例3】用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x =3时的值.[思路探究]改写多项式,确定v0,再依次计算v i,i=1,2,3,4,5,6,7,最后求得f(3).[解]根据秦九韶算法,把多项式改写成如下形式:f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x,由内到外的顺序,依次计算一次多项式当x=3时的值:由v0=7;v1=7×3+6=27;v2=27×3+5=86;v3=86×3+4=262;v4=262×3+3=789;v5=789×3+2=2 369;v6=2 369×3+1=7 108;v7=7 108×3=21 324,故x=3时,多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x的值为21 324.(变结论)用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值时,共做了几次乘法?几次加法?[解]根据秦九韶算法,把多项式改写为:f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x,由内到外依次计算一次多项式当x=3时的值:v0=7;v1=7×3+6=27;v2=27×3+5=86;v3=86×3+4=262;v4=262×3+3=789;v5=789×3+2=2 369;v6=2 369×3+1=7 108;v7=7 108×3=21 324,由此可知共做了7次乘法,6次加法.1.应用秦九韶算法计算多项式的值应注意的3个问题.(1)要正确将多项式的形式进行改写.(2)计算应由内向外依次计算.(3)当多项式函数中间出现空项时,要以系数为零的齐次项补充.2.利用秦九韶算法计算多项式的值时,计算的乘法次数与多项式未知数的最高指数相同,在多项式有常数项的情况下,加法运算的次数与乘法的次数相同.1.本节课的重点是会用更相减损之术求两个数的最大公约数,会用秦九韶算法求多项式的值,难点是会用秦九韶算法求多项式的值.2.本节课要掌握以下几类问题:(1)掌握求最大公约数的方法与步骤.(2)掌握秦九韶算法的步骤.3.本节课的易错点是弄不清秦九韶算法的原理而致错.1.思考辨析(1)用更相减损之术可以求两个正整数的最大公约数.()(2)使用秦九韶算法计算高次多项式的值比常规逐项计算省时的原因是减少了运算次数.()(3)秦九韶算法的实质是把高次式的和转化为一次式的积.()[答案](1)√(2)√(3)√2.用秦九韶算法求多项式f(x)=x3-3x2+2x-11当x=x0时的值时,应把f(x)变形为()A.x3-(3x+2)x-11B.(x-3)x2+(2x-11)C.(x-1)(x-2)x-11D.((x-3)x+2)x-11D[f(x)=x3-3x2+2x-11=(x2-3x+2)x-11=((x-3)x+2)x-11.]3.用“等值算法”可求得98与280的最大公约数为________.14[(98,280)→(98,182)→(98,84)→(14,84)→(14,70)→(14,56)→(14,42)→(14,28)→(14,14),∴最大公约数为14.]4.用更相减损之术求80和36的最大公约数.[解](80,36)→(44,36)→(8,36)→(8,28)→(8,20)→(8,12)→(8,4)→(4,4),所以80与36的最大公约数为4.。

中国古代数学中的算法案例课件(人教b版必修3)

中国古代数学中的算法案例课件(人教b版必修3)

2021/7/28
30
• [点评] 求三个数的最大公约数,可先求两数的最大公约数a,然后求a与第 三个数的最大公约数b,则b为所求的三数的最大公约数.该题解法可推广 到求多个数的最大公约数.
2021/7/28
31
• 求324,243和135的最大公约数. • [解析] (324,243)―→(81,243)―→(81,162)―→(81,81)则324与243最大公约数
2021/7/28
17
2021/7/28
18
• [例1] 求80和36的最大公约数.
2021/7/28
19
• [解析] 80-36=44, • 44-36=8, • 36-8=28, • 28-8=20, • 20-8=12, • 12-8=4, • 8-4=4. • ∴80和36的最大公约数是4. • [点评] 当大数减小数的差等于小数时停止减法,较小的数就是两数的最大
• 由于这是一个反复执行的步骤,且执行的次数由余数r是否等于0决定,所 以我们可以把它看作一个循环体,用循环结构就可以来实现其算法.
2021/7/28
12
• (2)更相减损术(“等值算法”)
• 步骤:我们以求119和85这两个数的最大公约数为例加以说明:以两数中较 大的数减去较小的数,即119-85=34,以差数34和较小的数85构成新的一 对数,对这一对数再用大数减去小数,即85-34=51,再以差数51和34构 成新的一对数,大数减去小数,这样的操作一直做下去,直到产生一对相 等的数,这个数就是最大公约数.整个操作如下:
• 按照从内到外的顺序,依次计算一次多项式当x=2时的值:v1=2+2=4, v2=2v1+3=11,v3=2v2+4=26,v4=2v3+5=57,v5=2v4+6=120.

数学必修Ⅲ人教新课标B版1-3中国古代数学中的算法案例课件(36张)

数学必修Ⅲ人教新课标B版1-3中国古代数学中的算法案例课件(36张)
【解析】 (98,280)→(98,182)→(98,84)→(14,84)→(14,70)→(14,56) →(14,42)→(14,28)→(14,14),∴最大公约数为14. 【答案】 14
教材整理2 割圆术 阅读教材P28~P29,完成下列问题. 用圆内接正多边形面积逐渐逼近 圆面积 的算法是计算圆周率的近似值.
[再练一题] 2.用秦九韶算法求多项式f(x)=1+x+0.5x2+0.166 67x3+0.041 67x4+0.008 33x5在x=-0.2时的值.
【导学号:25440021】
【解】 x=-0.2. a5=0.008 33 v0=a5=0.008 33, a4=0.041 67 v1=v0x+a4=0.04, a3=0.166 67 v2=v1x+a3=0.158 67, a2=0.5 v3=v2x+a2=0.468 27, a1=1 v4=v3x+a1=0.906 35, a0=1 v5=v4x+a0=0.818 73, 所以f(-0.2)=0.818 73.
[再练一题] 1.用“等值算法”(更相减损之术)求98与63的最大公约数. 【解】 操作如下: (98,63)→(35,63)→(28,35)→(7,28)→ (7,21)→(7,14)→(7,7),所以98与63的最大公约数为7.
秦九韶算法的应用
时的值.
用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3
[质疑·手记] 预习完成后,请将你的疑问记录,并与“小伙伴们”探讨交流: 疑问1:_________________________________________________________ 解惑:_________________________________________________________ 疑问2:_________________________________________________________ 解惑:_________________________________________________________ 疑问3:_________________________________________________________ 解惑:_________________________________________________________

高中数学 第一章算法1.3中国古代数学中的算法案例教案 新人教B版必修3

高中数学 第一章算法1.3中国古代数学中的算法案例教案 新人教B版必修3

1.3中国古代数学中的算法案例一、教学目标:1、了解中国古代数学中求两个正整数的最大公约数的算法、割圆术算法及秦九韶算法2、通过对三种算法的学习,更好的理解将要解决的问题算法化的思维方式,并注意理解推导割圆术的操作步骤二、教学重点和难点:教学重点:了解“更相减损术”、“割圆术”算法及秦九韶算法教学难点:体会算法案例中蕴含的算法思想,利用它解决具体问题三、教学方法和手段:教师指导学生学习,以学生自学为主四、教学过程:1、引导学生对学过的知识进行回顾,使学生理清知识网络,并指明中国古代数学的发展“寓理于算”,不同于西方数学,有自己的鲜明特色2、求两个正整数的最大公约数的算法——辗转相除法,更相减损之术(等值算法)例1求78和36的最大公约数法一辗转相除法步骤:计算出78÷36的余数为6,再将前面的余数36作为新的被除数,36÷6=6余数为0,则此时除数6即为78和36的最大公约数理论依据:a=nb+r→r=a-nb,得a、b与b、r有相同的公约数即(78,36)→(6,36),36能被6整除,余数为0。

法二更相减损之术(等值算法)指导学生阅读书p27-28页,总结步骤,归纳出算法: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=input(“a=”);b=input(“b=”);while a<>bif a>b;a=a-b;elseb=b-a;endendprint(%io(2),a,b)总结:辗转相除法步骤较少;更相减损之术(等值算法)虽然有些步骤较长,但运算简单,易懂。

练习:用等值算法求下列两数的最大公约数,并用辗转相除法验证3、割圆术——估计圆周率的近似值阅读书p28-29页步骤:第一,从半径为l的圆内接正六边形开始,计算它的面积S6;第二,逐步加倍圆内接正多边形的边数,分别计算圆内接正十二边形,正二十四边形,正四十八边形。

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

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

思想方法技巧
方程思想
盈不足术是我国古代数学中的优秀算法《九章算 术》卷七——盈不足,有下列问题:
(1)今有人共买物,人出八,盈三;人出七,不足四.问人 数、物价各几何?
(2)今有人买鸡,人出九,盈十一;人出六,不足十六,问 人数、物价各几何?
试编写程序解决上述问题.
[解析] 翻译为现代语言,即
• 又270=81×3+27,81=27×3+0,则324,243,270的最大公约数为27. • [点评] 求三个数的最大公约数,可先求两数的最大公约数a,然后求a
与第三个数的最大公约数b,则b为所求的三数的最大公约数.该题解法 可推广到求多个数的最大公约数.
• 求324,243和135的最大公约数.
课堂典例讲练
• 用更相减损术求两个正整数的最大公约数
求 80 和 36 的最大公约数.
• [解析] 80-36=44, • 44-36=8, • 36-8=28, • 28-8=20, • 20-8=12, • 12-8=4, • 8-4=4. • ∴80和36的最大公约数是4.
• [点评] 当大数减小数的差等于小数时停止减法,较小的数就是两数的 最大公约数.
• [答案] C
• [解析] (88,24)→(64,24)→(40,24)→(24,16)→(16,8)→ (8,8),故88与24 的最大公约数为8.
• 4.三个数72,120,168的最大公约数是________.
• [答案] 24
• [解析] (72,120,168)→(72,120,168-120)→(72,120,48)→ (72,120- 72,48)→(72,48,48)→ (72-48,48,48)→ (24,48,48)→ (24,48- 24,48)→(24,24,48)→(24,24,48-24)→(24,24,24).
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Read a,b If a/b=Int (a/b) Then goto 70 ca-Int(a/b)×b a b b c Goto 20 Print b B.求a,b的最大公约数 D.求b除以a的余数
A.求a,b的最小公倍数 C.求a被b整除的商
分析:解题关键就是:a-int(a/b)×b=mod(a,b)
S24≈3.105828;……
程序:
n=6; x=1; s=6*sqrt(3)/4; for i=1 : 1 : 5 h=sqrt(1-(x/2)^2);
s=s+n*x*(1-h)/2; n=2*n; x=sqrt((x/2)^2+(1- h)^2); end print(%io(2), n的最 大公约数是否正确。
2.割圆术
魏晋时期数学家刘徽,“割之弥细,所 失弥少,割之又割,以至于不可割,则与 圆合体而无所失矣”. 即从圆内接正六边形开始,让边数逐次 加倍,逐个算出这些内接正多边形的面积, 从而得到一系列逐次递增的数值。
第一,从半径为1的圆内接正六边形开始, 计算它的面积S6; 第二,逐步加倍圆内接正多边形的边数,分 别计算圆内接正十二边形,正二十四边形, 正四十八边形,…的面积,到一定的边数 (设为2m)为止,得到一列递增的数,
结束
程序: 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, “两数的最大公约数
例1 :用等值算法(更相减损术)求下列 两数的最大公约数。 (1)225,135; 答案: (1) 45; (2)98,280. (2) 14.
S6,S12,S24,S48,…,S2m.
第三,S2m近似等于圆面积。
下面的关键是找出正n边形的面积与正2n 边形的面积之间的关系,以便递推。 设圆的半径为1,正n边形 的边长AB为xn,弦心距 OG为hn;面积为Sn,根据
勾股定理,得:h
n
xn 1 , 2
2
2
2 xn x2 n 1 hn 2
算法如下:
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 输出最大公约数
开始 输入a,b
a=a-b Y a≠b N 输出b Y a> b
b=b-a N
先找到a,b中较大的, c = a Mod b
c=a mod b b=c a=b c≠0 N 输出b 结束 Y
a=input(“a=”); b=input(“b=”); c=modulo(a,b); while c<>0 a=b; b=c; c=modulo(a,b); end b
更相减损术 例如,求78和36的最大公约数: 以两数中较大的数减去较小的数,即78 -36=42;以差数42和较小的数36构成新 的一对数; 对这一对数再用大数减去小数,即42 -36=6,再以差数6和较小的数36构成新 的一对数;
课堂练习
2.写出图示流程图所表达算法的伪代码,并求出最后输 出的n的值。 10 20 30 40 50 60 70 80 m←147 n←84 r←mod(m,n) If r=0 Then Goto 70 m←n,n←r Goto 30 Print n End
n的值为21
课堂练习
3.用更相减损术求两个正数84与72的最大公约数.
(n 6)
容易知道x6=1,
正2n边形的面积等于正n 边形的面积加上n个等腰三 角形的面积,即 1 S 2 n S n n xn (1 hn ) (n 6) 2
xn 2 2 正2n边形的边长为 x2n ( ) (1 hn ) 2
3 于是由 S6 6 4
求得S12=3;
对这一对数再用大数减去小数,即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、两个正整数的最小公倍数,实际上就是这两数 乘积除以它们的最大公约数,试写出求正整数a,b最小 公倍数的程序。 a=input(“a=”);
b=input(“b=”); c=modulo(a, b); d=a*b; While c<>0 a=b; b=c; c=modulo(a,b); End print(%io(2), d/b)
举例说明. m=90,n=36, m=2n+18,r=18. 令m=36, n=18. 又有36=18×2, 即m=2n, 此时r=0. 令m=18,n=0. 故最大公约数为18.
开始
算理: 记为a;
a=b×t+c; 若c≠0,记a=b, b=c,返 回第2步进行循环; 若c=0,输出b.
输入a,b
数学运用
例2、用更相减损术求98与63的最大公约数。
解:由于63不是偶数,把98和63以大数减小数, 并辗转相减
98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7 所以,98和63的最大公约数等于7
课堂练习
1.下面一段伪代码的目的是( B )
10 20 30 40 50 60 70
1.3中国古代数学中的算法案例(一)
1. 求两个正整数最大公约数的算法 辗转相除法
求两个数的最大公约数,其基本步骤 是带余除法m=nq+r(0≤r<n), 反复执行,直到余数r=0为止.
求任意两个数的最大公约数的算法是
第一步:输入两个 正整数a,b(a>b); 第二步:求出a÷b 的余数r; 第三步:令a=b, b=r,若r≠0,重复第二 步; 第四步:输出最大 公约数a.
相关文档
最新文档