1.3算法案例

合集下载

1.3算法案例(进位制)(yong)

1.3算法案例(进位制)(yong)
满十二进一,就是十二进制; 满六十进一,就是六十进制
思考:生活最常见的进位制是什么?除此之外还有
哪些常见的进位制?请举例说明. • 最常见的进位制应该是我们数学中的十进制,比 如一般的数值计算,但是并不是生活中的每一种 数字都是十进制的. • 古人有半斤八两之说,就是十六进制与十进制的 转换. • 比如时间和角度的单位用六十进制, 计算“一打” 数值时是12进制的。 • 电子计算机用的是二进制 。
思考:其它进制是否也有类似的规律呢?
八进制
7342(8) =783+382+48+2 110011(2)=125+124+023 +022+12+1
二进制
一般地,若k是一个大于1的整数,那么以k为基 数的k进制可以表示为以下形式:
a n a n 1 a 1 ( k ) ( 0 a n k , 0 a 1 , , a n 1 k ).
a×82+b×8+c=c×72+b×7+a,得:63a+b﹣48c=0, b=3(16c﹣21a), 由此知b是三的倍数,且是整数, ∴b=0,3,6, 21 a 当b=0时,可得c= 1 6 又1≤a≤6,检验知,不存在符合条件的a使得c是整数,
当3时,得c=
当b=6时,得c=
21a 1 16
开始
输入a ,k,n b=0 i=1
把a的右数第i位数字赋给t b=b+t*ki-1 i=i+1

i>n

输出结果b 结束
三、十进制化为k进制 思考:既然,k进制转化为十进制有前述的方法与 相应的算法,那么十进数又是如何才能转化为k进 数呢? 回想:a=anan-1…a2a1(k) =ankn-1+an-1kn-2+ …+a2k+a1 =b

§1.3算法案例

§1.3算法案例

为了区别进制,我们就用下 标(k)表示k进制数
an k
n1
an1 k
n 2
a3 k a2 k a1
2
下面我们来用一个具体的例子来分析:
例3.将二进制数110 011(2)化成十进制数
解 根据k进制数的实际意义,我们可以这样来转换:
110011(2) 1 2 1 2 0 2 0 2 1 2 1 2 1 32 1 16 1 2 1 51
已知一个5次多项式为
f ( x) 4x 2x 3.5x 2.6x 1.7 x 0.8
5 4 3 2

x5
用秦九韶算法求这个多项式的值。
根据秦几韶算法,把多项式改写成如下形式: f ( x) ((((4 x 2) x 3.5) x 2.6) x 1.7) x 0.8 按照从内到外的顺序,依次计算一次多项式当绵值: v0 4; v1 4 5 2 22; v2 22 3.5 113.5; v3 113.5 5 2.6 564.9; v4 564.9 5 1.7 2826.2; v5 2826.2 5 0.8 14130.2. 所以,当x 5时, 多项式的值等于14130.2.
3. 已知一个5次多项式为
f ( x) 5x 2x 3.5x 2.6x 1.7 x 0.8
5 4 3 2
用秦九韶算法求这个多项式当
x5
时的值。
思考:(1)上式计算时需要多少次乘法计 算?多少次加法计算? (2)在利用秦九韶算法计算n次多项式 当时需要多少次乘法计算和多少次加法计算?
f ( x) an xn an1xn1 an2 xn2 a1x a0 把一个多项式

【成才之路】高中数学 算法案例第1课时辗转相除法与更相减损术学案课件 新人教A必修3

【成才之路】高中数学 算法案例第1课时辗转相除法与更相减损术学案课件 新人教A必修3
2022/1/152022/1/15
人 教 A 版 数 学
(2)辗转相除法的算法分析: 由以上辗转相除法的原理可以发现,辗转相除法的基 本步骤是用较大的数除以较小的数,考虑到算法中的赋值 语句可以对同一变量多次赋值,我们可以把较大的数用变 量m表示,把较小的数用变量n表示,这样式子m=n·q+ r(0≤r<n)就是一个反复执行的步骤,因此可以用循环结构实 现算法.如图.
用更相减损术: 80-36=44, 44-36=8, 36-8=28, 28-8=20, 20-8=12, 12-8=4, 8-4=4. ∴80和36的最大公约数是4.
[点评] (1)辗转相除法是当大数被小数除尽时,结束 除法运算,较小的数就是最大公约数;更相减损术是当大 数减去小数的差等于小数时停止减法运算,较小的数就是 最大公约数.
二、解答题 5.写出从键盘任意输入两个正整数a,b,输出这两个 数的最小公倍数的算法,画出程序框图,写出算法语句.
[解析] 从键盘输入两数 a,b 后,先求两数的最大公 约数 k,再计算两数的最小公倍数 p=ak·b,输出 p 即可.
程序框图如右图. 程序为: INPUT “正整数 a,b=”;a,b
3.辗转相除法与更相减损术有着相同的算法依据,但 要注意运算过程的差别,辗转相除法的上一次运算的除数 和余数分别作为下一次运算的被除数和除数,其结果直至 余数为零得出.更相减损术在上一次运算结束后,比较减 数和差的大小,将大的作为下一次运算的被减数,小的作 为减数,直至出现相等数时得到结果.
由此可见,二者算法是相似的.主要区别在于,辗转 相除法进行的是除法运算,即辗转相除,更相减损术进行 的是减法运算,即辗转相减,但其实质都是一个不断的递 归过程.另外两者在算法设计上有一个重要的区别点,辗 转相除法,下一次进行相除时,由上一次的除数和余数直 接相除即可.而更相减损术下一次相减前必须有一个判断 大小的过程,以区别谁做被减数.这些内容都是应特别注 意的关键环节.

1.3 算法案例1---辗转相除法与更相减损术 8

1.3   算法案例1---辗转相除法与更相减损术 8

1.3 算法案例1.3 算法案例——案例1 辗转相除法与更相减损术8**学习目标**1.理解辗转相除法与更相减损术求最大公约数的方法。

2.把辗转相除法与更相减损术的方法转换成程序框图与程序语言.**要点精讲**1.辗转相除法例如,求两个正数8251和6105的最大公约数。

分析与解:8251与6105两数都比较大,而且没有明显的公约数,可以考虑用两数中较大的数除以较小的数,求得商和余数:8251=6105×1+2146显然8251与6105的公约数也必是2146的约数,同样6105与2146的公约数也必是8251的约数, 所以8251与6105的最大公约数也是6105与2146的最大公约数。

6105=2146×2+1813,2146=1813×1+333,1813=333×5+148333=148×2+37,148=37×4+0则37为37与148的最大公约数,也是148与333的最大公约数,也是333与1813的最大公约数,也是1813与2146的最大公约数,也是2146与6105的最大公约数。

所以,2146与6105的最大公约数是37。

以上我们求最大公约数的方法就是辗转相除法。

也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的。

2.更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术。

在《九章算术》中记载了更相减损术求最大公约数的步骤:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之。

翻译为:(1)任意给出两个正数;判断它们是否都是偶数。

若是,用2约简;若不是,执行第二步。

(2)以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。

继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。

**范例分析**例1.试分别用辗转相除法和更相减损术求840与1764、440与556的最大公约数。

人教版高中数学必修三课件:1.3 算法案例(共55张PPT)

人教版高中数学必修三课件:1.3 算法案例(共55张PPT)

解:用辗转相除法求最大公约数:612=468×1+144,468=144×3+36,144=36×4,即612
和468的最大公约数是36. 用更相减损术检验:612和468均为偶数,两次用2约简得153和117,153-117=36,11736=81,81-36=45,45-36=9,36-9=27,27-9=18,18-9=9,所以612和468的最大公约数为
转化为求n个一次多项式的值.
预习探究
知识点二 进位制
1.进位制:进位制是为了计数和运算方便而约定的记数系统,约定“满k进一”就 是 k进制 ,k进制的基数(大于1的整数)就是 k . 2.将k进制数化为十进制数的方法:先把k进制数写成各位上的数字与k的幂的乘积之和 的形式,再按照十进制数的运算规则计算出结果. 3.将十进制数化为k进制数的方法是 除k取余法 .即用k连续去除十进制数所得 的 商 ,直到商为零为止,然后把各步得到的余数 倒序 写出.所得到的就是相应的k 进制数. 4.k进制数之间的转化:首先转化为十进制数,再转化为 k进制数.
第一章 算法初步
1.3 算法案例 第2课时 秦九韶算法与进位制
预习探究
知识点一 秦九韶算法
1.秦九韶算法是我国南宋数学家秦九韶在他的著作《数书九章》中提出的一 个用于计算多项式值的方法. 2.秦九韶算法的方法: 把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0 改写成下列的形式: f(x)=(anxn-1+an-1xn-2+…+a1)x+a0= ((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =…=

1.3算法案例

1.3算法案例

(c)情感态度与价值观 1.通过阅读中国古代数学中的算法案例,体会中 国古代数学对世界数学发展的贡献。 2.在学习古代数学家解决数学问题的方法的过程 中培养严谨的逻辑思维能力,在利用算法解决数学问题 的过程中培养理性的精神和动手实践的能力。 二、教学重难点 重点:理解辗转相除法与更相减损术求最大公约数 的方法。 难点:把辗转相除法与更相减损术的方法转换成程 序框图与程序语言。 三、学法 在理解最大公约数的基础上去发现辗转相除法与更 相减损术中的数学规律,并能模仿已经学过的程序框图 与算法语句设计出辗转相除法程序框图与算法程序。
二、教学重难点 重点:各进位制表示数的方法及各进位制 之间的转换 难点:除k去余法的理解以及各进位制之 间转换的程序框图的设计 三、学法 在学习各种进位制特点的同时探讨进位制 表示数与十进制表示数的区别与联系,熟悉各 种进位制表示数的方法,从而理解十进制转换 为各种进位制的除k去余法。
[问题1]我们常见的数字都是十进制的, 但是并不是生活中的每一种数字都是十进制的. 比如时间和角度的单位用六十进位制,电子计 算机用的是二进制.那么什么是进位制?不同的 进位制之间又有什么联系呢? 进位制是人们为了计数和运算的方便而 约定的一种记数系统,约定满二进一,就是二 进制;满十进一,就是十进制;满十六进一,就 是十六进制;等等. “满几进一”,就是几进制,几进制的基数就是几. 可使用数字符号的个数称为基数.基数 都是大于1的整数.
案例1 辗转相除法与更相减损术
一、三维目标 (a)知识与技能 1.理解辗转相除法与更相减损术中蕴含的数学原 理,并能根据这些原理进行算法分析。 2.基本能根据算法语句与程序框图的知识设计完 整的程序框图并写出算法程序。 (b)过程与方法 在辗转相除法与更相减损术求最大公约数的学习 过程中对比我们常见的约分求公因式的方法,比较它 们在算法上的区别,并从程序的学习中体会数学的严 谨,领会数学算法计算机处理的结合方式,初步掌握 把数学算法转化成计算机语言的一般步骤。

第一章 1.3 算法案例:辗转相除法、秦九韶算法

第一章  1.3  算法案例:辗转相除法、秦九韶算法

3,答案:C
返回
• 4.用秦九韶算法求f(x)=3x?+4x?+5x? +6x?+7x?+8x+1,当x=0.4时的值, 需进行乘法运算和加法运算的次数分别为 ( ) • A. 6 6 B. 5 6 • C.6 5 D.6 12 • 解析:改写多项多f(x)=(((((3x+4)x+5)x+ 6)x+7)x+8)x+1,则需要6次乘法和6次加 法. • 答案:A
返回
课堂练习
2.用辗转相除法求294和84的最大公约数时,需要 做除法的次数是( ) A.1 B. 2 C.3 D. 4 3.用秦九韶算法求多项式的值,可用哪种结构的算 法实现( ) A.顺序结构 B.条件结构 C.循环结构 D.A、B两种 • 2,解析:由294=84×3+42,84=42×2知,共需 做2次除法. • 答案:B
返回
法二:更相减损术:
因为378与90都是偶数. 所以用2约简得189和45. 189-45=144,144-45=99, 99-45=54,54-45=9, 45-9=36,36-9=27, 27-9=18,18-9=9.
所以378与90的最大公约数为2×9=18.
返回
[例2]
用秦九韶算法求多项式
1.3 算法案例 辗转相除法、秦九韶算法
返回
预习思考
• 1,用辗转相除法求80和36的最大公约数, 并用更相减损术检验所得结果.
• 2,用秦九韶算法求多项式f(x)=2x4-6x3 -5x2+4x-6在x=5时的值.
返回
[例1]
用辗转相除法求80和36的最大公约数,并
用更相减损术检验所得结果. [自主解答] 用辗转相除法:
返回
1.秦九韶算法的步骤
返回
2.应用秦九韶算法计算多项式的值应注意的问题 (1)要正确将多项式的形式进行改写. (2)计算应由内向外依次计算. (3)当多项式函数中间出现空项式,要以系数为零的

高中数学人教A版必修3课件:1.3 算法案例

高中数学人教A版必修3课件:1.3 算法案例

1.3 算法案例
题型1 辗转相除法与更相减损术
4.分别用辗转相除法和更相减损术求36和80的最大公约数.

辗转相除法:
80=36×2+8,36=8×4+4,8=4×2.
故36和80的最大公约数是4.
更相减损术:
80-36=44,44-36=8,36-8=28,28-8=20,
20-8=12,12-8=4,8-4=4.
解析
111÷2=55……1,55÷2=27……1,27÷2=13……1,13÷2=6……1, 6÷2=3……0,3÷2=1……1,1÷2=0……1, 故111(10)=1101111(2).故选C.
1.3 算法案例
题型3 进位制
11.把十进制数189化为四进制数,则末位数字是( B )
A.0
B.1
1.3 算法案例
刷基础
题型3 进位制
13.十六进制数与十进制数的对应如下表:
十 六 进 1 2 3 4 5 6 7 8 9 10 A B C D E F 制 数 十 进 制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 数
例如:A+B=11+12=16+7=F+7=17(16),所以A+B的值用十六进制表示就等于17(16).
f(x)=anxn+an-1xn-1+…+a1x+a0的具体函数值,运用常规方法计算出结果最多需要n次加法和
n(n 2
1)
次乘法,而运用秦九韶算法由内而外逐层计算一次多项式的值的算法至多需要n次加法和n次乘法.对于计
算机来说,做一次乘法运算所用的时间比做一次加法运算要长得多,所以此算法极大地缩短了CPU运算的
A.2
B.3
C.4
D.5

算法案例(完整版)

算法案例(完整版)

例2 已知10b1(2)=a02(3),求数字a, b的值.
10b1(2)=1×23+b×2+1=2b+9. a02(3)=a×32+2=9a+2. 所以2b+9=9a+2,即9a-2b=7.
故a=1,b=1.
小 结
1. k进制数使用0~(k-1)共k个数字, 但左侧第一个数位上的数字(首位数字) 不为0. 2.用 an an-1 a2 a1(k ) 表示k 进制数,其中k称为基数,十进制数不标 注基数. 3. 把k进制数化为十进制数的一般算式 是: an an-1 a2 a1(k )
第一步,输入a和n的值. 第二步,令b=0,i=1. i-1 b 第三步, = b + ai ´ 2 , i=i+1. 第四步,判断i>n 是否成立.若是,则输 出b的值;否则,返回第三步.
同样地,把k进制数 a = an an-1 a2 a1(k )
化为十进制数b的算法和程序框图如何设 计? 第一步,输入a,k和n的值. 第二步,令b=0,i=1.
“更相减损术”在中国古代数学专著《 九章算术》中记述为:
可半者半之,不可半者,副置分母、 子之数,以少减多,更相减损,求其等 也,以等数约之.
例1 分别用辗转相除法和更相减损 术求168与93的最大公约数. 辗转相除法:168=93×1+75,
93=75×1+18, 75=18×4+3, 18=3×6.
a=rnrn-1„r1r0(2)
知识探究(二):十进制化k进制的算法
思考1:根据上面的分析,将十进制数a化 为二进制数的算法步骤如何设计? 第一步,输入十进制数a的值. 第二步,求出a除以2所得的商q,余数r. 第四步,若q≠0,则a=q,返回第二步; 否则,输出全部余数r排列得到 的二进制数.

人教a版必修三:《1.3算法案例(1)》ppt课件(322页)

人教a版必修三:《1.3算法案例(1)》ppt课件(322页)

明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
探要点、究所然
§1.3(一)
探究点二:更相减损术
思考 2 (1)用更相减损术可以求两个正整数 m,n 的最大公约数,那么用什么逻辑结 构来构造算法?其算法步骤如何设计?
答 (1)用循环结构设计算法,算法如下:
第一步,任意给定两个正整数m,n(m>n). 第二步,计算 m-n 所得的差 k. 第三步,比较n与k的大小,其中大者用m表示,小者用n表示. 第四步,若m=n,则m,n的最大公约数等于m;否则,返回第二步.
第一章 算法初步
§1.3 算法案例(一)
本节知识目录
§1.3(一)
明目标、知重点
算法 案例 (一)
填要点、记疑点
探究点一 探究点二 探究点三
辗转相除法 更相减损术 秦九韶算法的基本思想
探要点、究所然
当堂测、查疑缺
明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
明目标、知重点
§1.3(一)
明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
探要点、究所然
§1.3(一)
探究点二:更相减损术
(2)该算法的程序框图如何表示?该程序框图对应的程序如何表述?
答 程序框图: 程序:
INPUT m,n WHILE m< >n k=m-n IF n>k THEN m=n n=k ELSE m=k END IF WEND PRINT m END
明目标、知重点 填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺

山东省高中数学《1.3 算法案例》教案1 新人教A版必修3

山东省高中数学《1.3 算法案例》教案1 新人教A版必修3

1.3 算法案例整体设计教学分析在学生学习了算法的初步知识,理解了表示算法的算法步骤、程序框图和程序三种不同方式以后,再结合典型算法案例,让学生经历设计算法解决问题的全过程,体验算法在解决问题中的重要作用,体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.三维目标1.理解算法案例的算法步骤和程序框图.2.引导学生得出自己设计的算法程序.3. 体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.重点难点教学重点:引导学生得出自己设计的算法步骤、程序框图和算法程序.教学难点:体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力. 课时安排3课时教学过程第1课时案例1 辗转相除法与更相减损术导入新课思路1(情境导入)大家喜欢打乒乓球吧,由于东、西方文化及身体条件的不同,西方人喜欢横握拍打球,东方人喜欢直握拍打球,对于同一个问题,东、西方人处理问题方式是有所不同的.在小学,我们学过求两个正整数的最大公约数的方法:先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来. 当两个数公有的质因数较大时(如 8 251 与6 105),使用上述方法求最大公约数就比较困难.下面我们介绍两种不同的算法——辗转相除法与更相减损术,由此可以体会东、西方文化的差异.思路2(直接导入)前面我们学习了算法步骤、程序框图和算法语句.今天我们将通过辗转相除法与更相减损术来进一步体会算法的思想.推进新课新知探究提出问题(1)怎样用短除法求最大公约数?(2)怎样用穷举法(也叫枚举法)求最大公约数?(3)怎样用辗转相除法求最大公约数?(4)怎样用更相减损术求最大公约数?讨论结果:(1)短除法求两个正整数的最大公约数的步骤:先用两个数公有的质因数连续去除,一直除到所得的商是两个互质数为止,然后把所有的除数连乘起来.(2)穷举法(也叫枚举法)穷举法求两个正整数的最大公约数的解题步骤:从两个数中较小数开始由大到小列举,直到找到公约数立即中断列举,得到的公约数便是最大公约数.(3)辗转相除法辗转相除法求两个数的最大公约数,其算法步骤可以描述如下:第一步,给定两个正整数m,n.第二步,求余数r:计算m除以n,将所得余数存放到变量r中.第三步,更新被除数和余数:m=n,n=r.第四步,判断余数r是否为0.若余数为0,则输出结果;否则转向第二步继续循环执行.如此循环,直到得到结果为止. 这种算法是由欧几里得在公元前300年左右首先提出的,因而又叫欧几里得算法.(4)更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术. 《九章算术》是中国古代的数学专著,其中的“更相减损术”也可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.”翻译为现代语言如下:第一步,任意给定两个正整数,判断它们是否都是偶数,若是,用2约简;若不是,执行第二步.第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.应用示例例1 用辗转相除法求8 251与6 105的最大公约数,写出算法分析,画出程序框图,写出算法程序.解:用两数中较大的数除以较小的数,求得商和余数:8 251=6 105×1+2 146.由此可得,6 105与2 146的公约数也是8 251与6 105的公约数,反过来,8 251与6 105的公约数也是6 105与2 146的公约数,所以它们的最大公约数相等.对6 105与2 146重复上述步骤:6 105=2 146×2+1 813.同理,2 146与1 813的最大公约数也是6 105与2 146的最大公约数.继续重复上述步骤:2 146=1 813×1+333,1 813=333×5+148,333=148×2+37,148=37×4.最后的除数37是148和37的最大公约数,也就是8 251与6 105的最大公约数.这就是辗转相除法.由除法的性质可以知道,对于任意两个正整数,上述除法步骤总可以在有限步之后完成,从而总可以用辗转相除法求出两个正整数的最大公约数.算法分析:从上面的例子可以看出,辗转相除法中包含重复操作的步骤,因此可以用循环结构来构造算法.算法步骤如下:第一步,给定两个正整数m,n.第二步,计算m除以n所得的余数为r.第三步,m=n,n=r.第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.程序框图如下图:程序:INPUT m,nDOr=m MOD nm=nn=rLOOP UNTIL r=0PRINT mEND点评:从教学实践看,有些学生不能理解算法中的转化过程,例如:求8 251与6 105的最大公约数,为什么可以转化为求6 105与2 146的公约数.因为8 251=6 105×1+2 146,可以化为8 251-6 105×1=2 164,所以公约数能够整除等式两边的数,即6 105与2 146的公约数也是8 251与6 105的公约数.变式训练你能用当型循环结构构造算法,求两个正整数的最大公约数吗?试画出程序框图和程序.解:当型循环结构的程序框图如下图:程序:INPUT m,nr=1WHILE r>0r=m MOD nm=nn=rWENDPRINT mEND例2 用更相减损术求98与63的最大公约数.解:由于63不是偶数,把98和63以大数减小数,并辗转相减,如下图所示.98-63=3563-35=2835-28=728-7=2121-7=1414-7=7所以,98和63的最大公约数等于7.点评:更相减损术与辗转相除法的比较:尽管两种算法分别来源于东、西方古代数学名著,但是二者的算理却是相似的,有异曲同工之妙.主要区别在于辗转相除法进行的是除法运算,即辗转相除;而更相减损术进行的是减法运算,即辗转相减,但是实质都是一个不断的递归过程.变式训练用辗转相除法或者更相减损术求三个数324,243,135的最大公约数.解:324=243×1+81,243=81×3+0,则324与243的最大公约数为81.又135=81×1+54,81=54×1+27,54=27×2+0,则 81 与 135的最大公约数为27.所以,三个数324、243、135的最大公约数为27.另法:324-243=81,243-81=162,162-81=81,则324与243的最大公约数为81.135-81=54,81-54=27,54-27=27,则81与135的最大公约数为27.所以,三个数324、243.135的最大公约数为27.例3 (1)用辗转相除法求123和48的最大公约数.(2)用更相减损术求80和36的最大公约数.解:(1)辗转相除法求最大公约数的过程如下:123=2×48+27,48=1×27+21,27=1×21+6,21=3×6+3,6=2×3+0,最后6能被3整除,得123和48的最大公约数为3.(2)我们将80作为大数,36作为小数,因为80和36都是偶数,要除公因数2.80÷2=40,36÷2=18.40和18都是偶数,要除公因数2.40÷2=20,18÷2=9.下面来求20与9的最大公约数,20-9=11,11-9=2,9-2=7,7-2=5,5-2=3,3-2=1,2-1=1,可得80和36的最大公约数为22×1=4.点评:对比两种方法控制好算法的结束,辗转相除法是到达余数为0,更相减损术是到达减数和差相等.变式训练分别用辗转相除法和更相减损术求1 734,816的最大公约数.解:辗转相除法:1 734=816×2+102,816=102×8(余0),∴1 734与816的最大公约数是102.更相减损术:因为两数皆为偶数,首先除以2得到867,408,再求867与408的最大公约数.867-408=459,459-408=51,408-51=357,357-51=306,306-51=255,255-51=204,204-51=153,153-51=102,102-51=51.∴1 734与816的最大公约数是51×2=102.利用更相减损术可另解:1 734-816=918,918-816=102,816-102=714,714-102=612,612-102=510,510-102=408,408-102=306,306-102=204,204-102=102.∴1 734与816的最大公约数是102.知能训练求319,377,116的最大公约数.解:377=319×1+58,319=58×5+29,58=29×2.∴377与319的最大公约数为29,再求29与116的最大公约数.116=29×4.∴29与116的最大公约数为29.∴377,319,116的最大公约数为29.拓展提升试写出利用更相减损术求两个正整数的最大公约数的程序.解:更相减损术程序:INPUT “m,n=”;m,nWHILE m<>nIF m>n THENm=m-nELSEm=n-mEND IFWENDPRINT mEND课堂小结(1)用辗转相除法求最大公约数.(2)用更相减损术求最大公约数.思想方法:递归思想.作业分别用辗转相除法和更相减损术求261,319的最大公约数.分析:本题主要考查辗转相除法和更相减损术及其应用.使用辗转相除法可依据m=nq+r,反复执行,直到r=0为止;用更相减损术就是根据m-n=r,反复执行,直到n=r为止.解:辗转相除法:319=261×1+58,261=58×4+29,58=29×2.∴319与261的最大公约数是29.更相减损术:319-261=58,261-58=203,203-58=145,145-58=87,87-58=29,58-29=29,∴319与261的最大公约数是29.设计感想数学不仅是一门科学,也是一种文化,本节的引入从东、西方文化的不同开始,逐步向学生渗透数学文化.从知识方面主要学习用两种方法求两个正整数的最大公约数,从思想方法方面,主要学习递归思想.本节设置精彩例题,不仅让学生学到知识,而且让学生进一步体会算法的思想,培养学生的爱国主义情操.。

1.3 算法案例第三课时

1.3  算法案例第三课时

乌鲁木齐市高级中学 杨帆
理论迁移
将下列各进制数化为十进制数. 例1 将下列各进制数化为十进制数. (1)10303(4) ; (2)1234(5). =1× 10303(4)=1×44+3×42+3×40=307. =1× 1234(5)=1×53+2×52+3×51+4×50=194.
乌鲁木齐市高级中学 杨帆
ai ´ 2
i- 1
乌鲁木齐市高级中学 杨帆
思考3:利用 思考3:利用 3:
anan- 1 L a2a1(2) = an ? 2
L + a2 ? 2 a1 2 运用循环结构, 运用循环结构,把二进制数 a = anan- 1 L a2a1(2)
n- 1
an- 1 ? 2
n- 2
1
0
化为十进制数b的算法步骤如何设计? 化为十进制数b的算法步骤如何设计?
输入a,k,n 输入 , , b=0 i=1 把a的右数第 位数字赋给 的右数第i位数字赋给 的右数第 位数字赋给t
b=b+t·ki-1
i=i+1 i>n? 否 是 输出b 输出 结束
a, INPUT a,k,n b=0 i=1 t=a MOD10 DO b=b+t*k∧(i-1) a=a/10 t=a MOD10 i=i+1 i>n LOOP UNTIL i n PRINT b END
1.3
算法案例
第三课时
乌鲁木齐市高级中学 杨帆
问题提出
1.辗转相除法和更相减损术, 1.辗转相除法和更相减损术,是求两 辗转相除法和更相减损术 个正整数的最大公约数的算法, 个正整数的最大公约数的算法,秦九韶 算法是求多项式的值的算法, 算法是求多项式的值的算法,将这些算 法转化为程序, 法转化为程序,就可以由计算机来完成 相关运算. 相关运算. 2.人们为了计数和运算方便, 2.人们为了计数和运算方便,约定了 人们为了计数和运算方便 各种进位制,这些进位制是什么概念, 各种进位制,这些进位制是什么概念, 它们与十进制之间是怎样转化的?对此, 它们与十进制之间是怎样转化的?对此, 我们从理论上作些了解和研究. 我们从理论上作些了解和研究.

1.3算法案例 课件-高一数学人教A版必修3

1.3算法案例 课件-高一数学人教A版必修3
f (x) 4x5 2x4 3.5x3 2.6x2 1.7x 0.8
用秦九韶算法求这个多项式当x=5时的值。
解:根据秦九韶算法,把多项式改写成如下 形式:
f (x) ((((4x 2)x 3.5)x 2.6)x 1.7)x 0.8
按照从内到外的顺序,依次计算一次多项式当 x=5时的值:
WHILE d<>n
IF d>n THEN m=d
ELSE m=n
n=d
END IF d=m-n WEND d=2^k*d
PRINT d
END
问题2:怎样求多项式 f (x) x5 x4 x3 x2 x 1当x=5 的值呢?
方法1:把5代入多项式,计算各项的值,然后把它们加 起来。这时共做了1+2+3+4=10次乘法运算,5 次加法运算。
例1:用更相减损术求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。
思考:把更相减损术与辗转相除法比较,你有什么
发现?你能根据更相减损术设计程序,求两个正数的 最大公约数吗?
v1 an x an1
然后由内向外逐层计算一次多项式的值,即
v2 v1 x an2 ,
v3 v2 x an3 ,
vn vn1 x a0 ,
这样,求n次多项式f(x)的值就转化为求n个一次多项 式的值。
上述方法称为秦九韶算法。直到今天, 这种算法仍是 多项式求值比较先进的算法。
例2、已知一个5次多项式为
⑤十进制化k进制

2020-2021学年人教B版必修三 1.3 算法案例 课件(36张)

2020-2021学年人教B版必修三    1.3 算法案例    课件(36张)

知识点二 秦九韶算法 预习教材 P37-39,思考并完成以下问题 已知多项式 f(x)=x5+3x4-3x3+4x2-x-1. (1)求 f(1). 提示:f(1)=1+3-3+4-1-1=3. (2)若求 f(39),再代入运算出现什么情况?
提示:运算量太大,不易运算.
知识梳理 秦九韶算法的算法原理 把一个 n 次多项式 f(x)=anxn+an-1xn-1+…+a1x+a0 改写成如下形式: f(x)=anxn+an-1xn-1+…+a1x+a0 =(anxn-1+an-1xn-2+…+a1)x+a0 =((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =… =(…((anx+an-1)x+an-2)x+…+a1)x+a0.
方法技巧 1.利用辗转相除法求给定的两个数的最大公约数,即利用带余除法,用 数对中较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的数 对,再利用带余除法,直到大数被小数除尽,则这时的较小数就是原来两个数的 最大公约数. 2.利用更相减损术求两个正整数的最大公约数的一般步骤是:首先判断两个正整 数是否都是偶数.若是,用 2 约简.也可以不除以 2,直接求最大公约数,这样不 影响最后结果.
延伸探究 1.将例题改为:把 210(6)化成十进制数为__________. 85 化成七进制数为__________. 解析:210(6)=2×62+1×6=78,
所以 85=151(7). 答案:78 151(7)
2.将例题改为:把 1234(5)化成七进制数为__________. 解析:∵1234(5)=1×53+2×52+3×51+4×50=194.而
[例 1] 分别用辗转相除法和更相减损术求 261 和 319 的最大公约数. [解析] 法一:(辗转相除法) 319÷261=1(余 58), 261÷58=4(余 29), 58÷29=2(余 0), 所以 319 与 261 的最大公约数为 29.

2014年人教A版必修三课件 1.3 算法案例

2014年人教A版必修三课件 1.3 算法案例
开始
输入正数m,n
m>n? 是 m=m-n 否 m=n? 是 输出m 结束
否 n=n-m
案例2 秦九韶算法 问题2. 下面是求多项式 f(x)=x5+x4+x3+x2+x+1 的 值的两种算法, 你认为哪种算法要快一些? 为什么? 算法 1: 直接将 x 的值代入多项式计算; 算法 2: 将多项式变形成 f(x)=((((x+1)x+1)x+1)x+1)x+1. 算法 1 要做 10 次乘法和 5 次加法. 算法 2 只做 4 次乘法和 5 次加法. 计算机做一次乘法用的时间比做一次加法所用 的时间长得多. 对于 n 次多项式的求值运算, 我国南宋时期的 秦九韶有如下的算法:
5. 什么是秦九韶算法? 它的特点是什么? 6. 你能写出秦九韶算法的程序吗?
Hale Waihona Puke 案例1 辗转相除法与更相减损术 问题1. 你能求两个数的最大公约数吗? 看下面 一列等式, 请问: 37 是 2146 与 1813 的公约数吗? 2146 1813 余 333, 2146 = 1813 1 +333, 有37的约数, 1813 333 余 148, 1813 = 333 5 +148, 有37的约数, 333 148 余 37, 333 = 148 2 +37, 有37的约数, 148 37 余 0. 有37的约数, 148 = 37 4. 求两个数的最大公约数的算法步骤: (1) 大数除以小数取余数; (2) 较小的数与余数又进行大数除以小数取余数; 如此重复进行, 直到余数为 0. 余数为 0 时的除数就是最大公约数. 这叫辗转相除法, 又叫欧几里得算法.
否则, 返回第二步进入循环.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

输出: 输出:m 结束
PRINT m END
思考:辗转相除法与更相减损术有 什么区别和联系?
区别: 计算上辗转相除法以除法为主,更相减损术以 减法为住; 在计算次数上,辗转相除法计算次数相对较少, 特别当两个数大小差别较大时计算次数的区别 较明显; 从结果输出的时候看,辗转相除法当余数为0 从结果输出的时候看,辗转相除法当余数为0时 输出除数,更相减损术当差和减数相等时输出 差。 联系:都是求最大公约数的方法。因为做一次除法 联系:都是求最大公约数的方法。因为做一次除法 与做若干次减法效果相同,商就是减法的次数, 余数就是最后的差,由此可知二者是完全统一 的!
同理:a,b,c为正整数,若a-b=c,则(a,b)=(b,c)。 同理:a,b,c为正整数, 为正整数 b=c, a,b)=(b,c)。 “更相减损术”(也是求两个正整数的最大公约数的算法) 更相减损术” 也是求两个正整数的最大公约数的算法) 更相减损术 步骤: 步骤: 第一步:任意给定两个正整数;判断他们是否都是偶数。 第一步:任意给定两个正整数;判断他们是否都是偶数。 若是,则用2约简 若不是则执行第二步。 约简; 若是,则用 约简;若不是则执行第二步。 第二步:以较大的数减较小的数,接着把所得的差与较 第二步:以较大的数减较小的数, 小的数比较,并以大数减小数。继续这个操作, 小的数比较,并以大数减小数。继续这个操作,直到所 得的减数和差相等为止, 得的减数和差相等为止,则这个等数就是所求的最大公 约数。 约数。
讨论:你能根据更相减损术的算法步骤 画出其程序框图并写出程序语句吗? 画出其程序框图并写出程序语句吗?
INPUT m,n
开始 输入: 输入:m,n N m≠n? Y M>n? Y m=m-n N
WHILE m<>n IF m>n THEN m=m-n ELSE n=n-m
n=n-m
END IF WEND
=37
练习:用辗转相除法求下列两数的最大公约数: (1)(225,135) 45 (2)(98,196) 98 24 (3)(72,168) (4)(153,119) 17
思考3:辗转相除直到何时结束? 思考3 辗转相除直到何时结束? 主要运用的是哪种算法结构? 主要运用的是哪种算法结构?
辗转相除法是一个反复执行直到余数等于0停止的步骤, 这实际上是一个循环结构 辗转相除法求两个数的最大公约数,其算法可以描述如下: ① 输入两个正整数m和n; ② 求余数r:计算m除以n,将所得余数存放到变量r中; ③更新被除数和余数:m=n,n=r。 ④判断余数r是否为0:若余数为0则输出结果,否则转 r 向第②步继续循环执行。 如此循环,直到得到结果。
2,4830与3289的最大公约数为_______ 4830与3289的最大公约数为_______ 3,用更相减损术求87与27的最大公约数时, ,用更相减损术求87与27的最大公约数时, 反复相减,直至求出最大公约数,需要进 行减法运算的次数是______ 行减法运算的次数是______ 4,用辗转相除法求87与27的最大公约数,需 ,用辗转相除法求87与27的最大公约数,需 要进行除法运算的次数是_____ 要进行除法运算的次数是_____ 5,46,115,276的最大公约数是____ 46,115,276的最大公约数是____
例3,求三个数319,377,116的最 ,求三个数319,377,116的最 大公约数(计算,不编程)
辗转相除法 更相减损术
练习:
1,下列说法中正确的是( ) A 辗转相除法是中国古代数学中的算法 B 更相减损术与辗转相除法的算理完全不同 C 辗转相除法与更相减损术相比较,用辗转 相除法求最大公约数最优越 D 辗转相除法与更相减损术,在设计程序时, 都要用到循环结构。
例2、用更相减损术求98与63的最大公约数 用更相减损术求 与 的最大公约数 自己按照步骤求解) (自己按照步骤求解) 由于63不是偶数 不是偶数, 以大数减小数, 解:由于 不是偶数,把98和63以大数减小数,并辗转相减。 和 以大数减小数 并辗转相减。 (98,63) =(63,35) 98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7 =(35,28) =(28,7) =(21,7) =(14,7) =(7,7) =
辗转相除法的理论基础: 辗转相除法的理论基础
定理: 已知m,n,r为正整数,若m=nq+r(0≤r<n)(即r=m MOD n),则(m,n)=(n,r)。
分析:m=nq+r r=m-nq
…… ① …… ②
例1、求8251和6105的最大公约数。 解: (8251,6105) 8251=6105×1+2146 8251=6105 1+2146 =(6105,2146) 6105=2146 ×2+1813 =(2146,1813) 2146=1813 ×1+333 =(1813,333) 1813=333 ×5+148 =(333,148) 333=148 ×2+37 =(148,37) 148=37 ×4
情境创设
韩信是秦末汉初的著名军事家. 韩信是秦末汉初的著名军事家.据说有一次汉高祖 刘邦在卫士的簇拥下来到练兵场, 刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什 么方法,不要逐个报数,就能知道场上的士兵的人数, 么方法,不要逐个报数,就能知道场上的士兵的人数, 韩信先令士兵排成3列纵队,结果有2人多余, 韩信先令士兵排成3列纵队,结果有2人多余,接着 下令排成5列纵队,结果又多出3 下令排成5列纵队,结果又多出3人,随后他又下令 改为7列纵队,这次又剩下2人无法成整行. 改为7列纵队,这次又剩下2人无法成整行.在场的 人都哈哈大笑,以为韩信不能清点出准确的人数, 人都哈哈大笑,以为韩信不能清点出准确的人数,不 料笑声刚落,韩信高声报告共有士兵2333人 料笑声刚落,韩信高声报告共有士兵2333人.众人 听了一楞, 听了一楞,不知道韩信用什么方法这么快就能得到 正确的结果的.今天,我们将以这些古典案例的思想, 正确的结果的.今天,我们将以这些古典案例的思想, 设计出适宜计算机的运行程序, 设计出适宜计算机的运行程序,提高我们对基本算 法结构和算法语句在实际中的运用能力. 法结构和算法语句在实际中的运用能力.
思考4 思考4:你能根据辗转相除法的算法步骤画出它的 程序框图以及相应的程序语句吗? 程序框图以及相应的程序语句吗?
开始 输入: 输入 INPUT m,n :m,n r=1 r=m MOD n WHILE r<>0 r=m MOD n m=n m=n n=r n=r WEND PRINT m r=0? Y END 输出: 输出:m 结束
探究一, 探究一,辗转相除法
思考2:当两个数的公有质因数较大时 我们怎 思考 当两个数的公有质因数较大时,我们怎 当两个数的公有质因数较大时 样去求两个数的最大公约数呢? 样去求两个数的最大公约数呢 辗转相除法:用于求两个正整数的最大公约数 辗转相除法 用于求两个正整数的最大公约数 的一种算法,是由欧几里得在公元前 是由欧几里得在公元前300年 的一种算法 是由欧几里得在公元前 年 左右首先提出的,因而又叫做欧几里得算法 因而又叫做欧几里得算法. 左右首先提出的 因而又叫做欧几里得算法 定义:所谓的辗转相除法 所谓的辗转相除法,就是对于给定的两个 定义 所谓的辗转相除法 就是对于给定的两个 用较大的数除以较小的数,若余数不为零 数,用较大的数除以较小的数 若余数不为零 用较大的数除以较小的数 若余数不为零, 则将余数和较小的数构成新的数对,继续上 则将余数和较小的数构成新的数对 继续上 面的除法,直到大数被小数除尽 直到大数被小数除尽,则这是较小 面的除法 直到大数被小数除尽 则这是较小 的数就是原来两个数的最大公约数. 的数就是原来两个数的最大公约数
求以下几组正整数的最大公约数。 (注:若整数m和n满足n整除m,则(m,n)=n。用(m,n)来表示 m和n的最大公约数。)
(1)(18,30)6; (2)(24,16) 8; (3)(63,63) (4)(72,8) 8; 63; 7; (5)(301,133 ) 想一想,如何求8251与6105的最大公约数?
N
程序: 程序: INPUT “m,n=”;m,n , DO r=m MOD n m=n n=r LOOP UNTIL r=0 PRINT m END
探究二, 探究二,更相减损术
<九章算术> “可半者半之,不可半者,副置分 九章算术> 可半者半之,不可半者,
母、子之数,以少减多,更相减损,求其 子之数,以少减多,更相减损, 等也,以等数约之。” 等也,以等数约之。
开始 输入: 输入:m,n m>n? Y t=m,m=n,n=t i=m+1 i=i-1
穷举法
穷举法(也叫枚举法) 步骤: 从两个数中较小数开始 由大到小列举,直到找到公 约数立即中断列举,得到的 公约数便是最大公约数 。
N
m MOD i=0且n MOD i=0? 且 Y 输出: 输出:i 结束
N
6,下面是求115与276的最大公约数的程序, ,下面是求115与276的最大公约数的程序, 把程序补充完整。 a=115 b=276 DO r=____ a=b b=r LOOP UNTIL r=____ PRINT a END
7,用辗转相除法求176与121的最大公约数, ,用辗转相除法求176与121的最大公约数, 并写出其程序。
探究一, 探究一,辗转相除法
思考1:在小学中我们是如何求出两个正整数 思考 在小学中我们是如何求出两个正整数 的最大公约数的呢? 的最大公约数的呢
算法案例之求最大公约数
例、求18与24的最大公约数: 解:2 1 8 2 4 用公有质因数2除, 3 9 1 2 用公有质因数3除, 3 4 3和4互质不除了。 得:18和24最大公约数是:2×3=6 短除法
相关文档
最新文档