算法案例(辗转相除法和更相减损术)

合集下载

《算法案例(辗转相除法)》

《算法案例(辗转相除法)》
P36:例一 用更相减损术求98与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、分别用辗转相除法、更相减损术、 求两个正数84与72的最大公约数.(对比那种方法好)
思考:求324、243、135这三个数的最大公约数。
一、进位制(课本P40)
1、什么是进位制? 2、最常见的进位制是什么? 除此之外还有哪些常见的进位制?请举例说明. 进位制是人们为了计数和运算方便而约定的记数系统。
1、我们了解十进制吗?所谓的十进制,它是如 何构成的? 十进制
第一、它有0、1、2、3、4、5、6、7、8、9十个数字;
注意: 1.最后一步商为0, 2.将上式各步所得的余数从下到上排列,得到:89=1011001(2)
练习 将下面的十进制数化为二进制数? (1)10
3、十进制转换为其它进制 例3 把89化为五进制数 解: 根据除5取余法 以5作为除数,相应的除法算式为: 5 89 5 17 5 3 0
余数
4 2 3
完整的过程
8251=6105×1+2146 6105=2146×2+1813
2146=1813×1+333 1813=333×5+148 333=148×2+37 148=37×4+0
一、辗转相除法 225=135×1+90 (欧几里得算法) P 45 练习1(2)、(3)
90=45×2 135=90×1+45
所以,110011(2)=51。
练习 将下面的二进制数化为十进制数? (1)11 (2)111

1.3.1《算法案例-辗转相除法与更相减损术》(整理)

1.3.1《算法案例-辗转相除法与更相减损术》(整理)

完整的过程 8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333 1813=333×5+148 333=148×2+37 148=37×4+0
例: 用辗转相除法求225和135的最大公约数 225=135×1+90 135=90×1+45
90=45×2 显然45是90和45的最大公约数,也就是 225和135的最大公约数
〖研探新知〗
1.辗转相除法: 例1 求两个正数8251和6105的最大公约数。 分析:8251与6105两数都比较大,而且没 有明显的公约数,如能把它们都变小一点,根 据已有的知识即可求出最大公约数. 解:8251=6105×1+2146 显然8251与6105的最大公约数也必是2146 的约数,同样6105与2146的公约数也必是8251 的约数,所以8251与6105的最大公约数也是 6105与2146的最大公约数。
更相减损术算法
第一步,给定两个正整数m、n,不妨设m>n, 第二步,若m,n都是偶数,则不断用2约简(记 录个数),使他们不同时是偶数,约简后的两 个数仍记为m,n 第三步,d=m-n 第四步,判断”d<>n”是否成立,若是,则将n,d 中较大者记为m,较小的记为n,返回第三步; 否则,2^k *d(k是约简整数的2的个数)为所 求的最大公约数.
开始
输m,n(m>n)
K=0 n=n/2 m=m/2
m,n为偶数?

K=k+1

d=m-n n=d m=n 否 m=d

d<>n?
d>n?


输出2^k d 结束

1.3.1 算法案例---辗转相除法与更相减损术

1.3.1   算法案例---辗转相除法与更相减损术

第一课时 1.3.1 算法案例---辗转相除法与更相减损术教学要求:理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析; 基本能根据算法语句与程序框图的知识设计出辗转相除法与更相减损术完整的程序框图并写出它们的算法程序.教学重点:理解辗转相除法与更相减损术求最大公约数的方法.教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言.教学过程:一、复习准备:1. 回顾算法的三种表述:自然语言、程序框图(三种逻辑结构)、程序语言(五种基本语句).2. 提问:①小学学过的求两个数最大公约数的方法?(先用两个公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来.)口算出36和64的最大公约数. ②除了用这种方法外还有没有其它方法?6436128=⨯+ ,36∴和28的最大公约数就是64和36的最大公约数,反复进行这个步骤,直至842=⨯,得出4即是36和64的最大公约数.二、讲授新课:1. 教学辗转相除法:例1:求两个正数1424和801的最大公约数.分析:可以利用除法将大数化小,然后逐步找出两数的最大公约数. (适用于两数较大时) ①以上我们求最大公约数的方法就是辗转相除法,也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的. 利用辗转相除法求最大公约数的步骤如下:(1)用较大的数m 除以较小的数n 得到一个商0S 和一个余数0R ;(2)若0R =0,则n 为m ,n的最大公约数;若0R ≠0,则用除数n 除以余数0R 得到一个商1S 和一个余数1R ;(3)若1R =0,则1R 为m ,n 的最大公约数;若1R ≠0,则用除数0R 除以余数1R 得到一个商2S 和一个余数2R ;……依次计算直至n R =0,此时所得到的1n R -即为所求的最大公约数.②由上述步骤可以看出,辗转相除法中的除法是一个反复执行的步骤,且执行次数由余数是否等于0来决定,所以我们可以把它看成一个循环体,它的程序框图如右图:(师生共析,写出辗转相除法完整的程序框图和程序语言)练习:求两个正数8251和2146的最大公约数. (乘法格式、除法格式)2. 教学更相减损术:我国早期也有求最大公约数问题的算法,就是更相减损术. 在《九章算术》中有更相减损术求最大公约数的步骤:可半者半之,不可半者,副置分母•子之数,以少减多,更相减损,求其等也,以等数约之.翻译为:(1)任意给出两个正数;判断它们是否都是偶数. 若是,用2约简;若不是,执行第二步.(2)以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数. 继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数. 例2:用更相减损术求91和49的最大公约数.分析:更相减损术是利用减法将大数化小,直到所得数相等时,这个数(等数)就是所求的最大公约数. (反思:辗转相除法与更相减损术是否存在相通的地方)练习:用更相减损术求72和168的最大公约数.3. 小结:辗转相除法与更相减损术及比较①都是求最大公约数的方法,辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少;②结果上,辗转相除法体现结果是以相除余数为0得到,而更相减损术则以减数与差相等而得到.三、巩固练习:1、练习:教材P35第1题 2、作业:教材P38第1题第二课时 1.3.2 算法案例---秦九韶算法教学要求:了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数、提高计算效率的实质;理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用. 教学重点:秦九韶算法的特点及其程序设计.教学难点:秦九韶算法的先进性理解及其程序设计.教学过程:一、复习准备:1. 分别用辗转相除法和更相减损术求出两个正数623和1513的最大公约数.2. 设计一个求多项式5432()254367f x x x x x x =--+-+当5x =时的值的算法. (学生自己提出一般的解决方案:将5x =代入多项式进行计算即可)提问:上述算法在计算时共用了多少次乘法运算?多少次加法运算?此方案有何优缺点?(上述算法一共做了5+4+3+2+1=15次乘法运算,5次加法运算. 优点是简单、易懂;缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高.)二、讲授新课:1. 教学秦九韶算法:① 提问:在计算x 的幂值时,可以利用前面的计算结果,以减少计算量,即先计算2x ,然后依次计算2x x ⋅,2()x x x ⋅⋅,2(())x x x x ⋅⋅⋅的值,这样计算上述多项式的值,一共需要多少次乘法,多少次加法?(上述算法一共做了4次乘法运算,5次加法运算)② 结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果.③ 更有效的一种算法是:将多项式变形为:5432()254367((((25)4)3)6)7f x x x x x x x x x x x =--+-+=--+-+,依次计算2555⨯-=,55421⨯-=,2153108⨯+=,10856534⨯-=,534572677⨯+= 故(5)2677f =. ――这种算法就是“秦九韶算法”. (注意变形,强调格式)④ 练习:用秦九韶算法求多项式432()2351f x x x x x =+-++当4x =时的值. (学生板书→师生共评→教师提问:上述算法共需多少次乘法运算?多少次加法运算?)⑤ 如何用秦九韶算法完成一般多项式1110()n n n n f x a x a x a x a --=++++ 的求值问题?改写:11101210()(()))n n n n n n n f x a x a x a x a a x a x a x a x a ----=++++=+++++ .首先计算最内层括号内一次多项式的值,即11n n v a x a -=+,然后由内向外逐层计算一次多项式的值,即212n v v x a -=+,323n v v x a -=+, ,10n n v v x a -=+.⑥ 结论:秦九韶算法将求n 次多项式的值转化为求n 个一次多项式的值,整个过程只需n 次乘法运算和n 次加法运算;观察上述n 个一次式,可发出k v 的计算要用到1k v -的值,若令0n v a =,可得到下列递推公式:01,(1,2,,)n kk n k v a v v x a k n --=⎧⎨=+=⎩ . 这是一个反复执行的步骤,因此可用循环结构来实现.⑦ 练习:用秦九韶算法求多项式5432()52 3.5 2.6 1.70.8f x x x x x x =++-+-当5x =时的值并画出程序框图.2. 小结:秦九韶算法的特点及其程序设计三、巩固练习:1、练习:教材P35第2题 2、作业:教材P36第2题第三课时 1.3.3 算法案例---进位制教学要求:了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换;学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k 去余法,并理解其中的数学规律.教学重点:各种进位制之间的互化.教学难点:除k 取余法的理解以及各进位制之间转换的程序框图及其程序的设计. 教学过程:一、复习准备:1. 试用秦九韶算法求多项式52()42f x x x =-+当3x =时的值,分析此过程共需多少次乘法运算?多少次加法运算?2. 提问:生活中我们常见的数字都是十进制的,但是并不是生活中的每一种数字都是十进制的.比如时间和角度的单位用六十进位制,电子计算机用的是二进制,旧式的秤是十六进制的,计算一打数值时是12进制的......那么什么是进位制?不同的进位制之间又有什么联系呢?二、讲授新课:1. 教学进位制的概念:① 进位制是人们为了计数和运算方便而约定的记数系统,“满几进一”就是几进制,几进制的基数就是几. 如:“满十进一”就是十进制,“满二进一”就是二进制 . 同一个数可以用不同的进位制来表示,比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的. 表示各种进位制数一般在数字右下脚加注来表示,如上例中:(2)(8)(16)1110017139==② 一般地,任意一个k 进制数都可以表示成不同位上数字与基数的幂的乘积之和的形式,即110110()110110...(0,0,...,,)n n n n k n n n n a a a a a k a a a k a k a ka k a k ----<<≤<=⨯+⨯+⨯+⨯ . 如:把(2)110011化为十进制数,(2)110011=1⨯25+1⨯24+0⨯23+0⨯22+1⨯21+1⨯20=32+16+2+1=51. 把八进制数(8)7348化为十进制数,3210(8)7348783848883816=⨯+⨯+⨯+⨯=.2. 教学进位制之间的互化:①例1:把二进制数(2)1001101化为十进制数.(学生板书→教师点评→师生共同总结将非十进制转为十进制数的方法)分析此过程的算法过程,编写过程的程序语言. 见P34②练习:将(5)2341、(3)121转化成十进制数.③例2、把89化为二进制数.分析:根据进位制的定义,二进制就是“满二进一”,可以用2连续去除89或所得商,然后取余数. (教师板书)上述方法也可以推广为把十进制化为k 进制数的算法,这种算法成为除k 取余法. ④练习:用除k 取余法将89化为四进制数、六进制数.⑤例3、把二进制数(2)11011.101化为十进制数.解:43210123(2)11011.101121202121212021227.625---=⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯=.(小数也可利用上述方法化进行不同进位制之间的互化. )变式:化为八进制→方法:进制互化3. 小结:进位制的定义;进位制之间的互化.三、巩固练习:1、练习:教材P35第3题 2、作业:教材P38第3题第四课时 1.3.4 生活中的算法实例教学要求:通过生活实例进一步了解算法思想.教学重点:生活实例的算法分析.教学难点:算法思想的理解.教学过程:一、复习准备:1. 前面学习了哪几种算法案例?每种算法的作用及操作方法是怎样的?2. 算法思想在我们的生活中无处不在,如何利用我们所学习的知识解决生活中的实际问题?二、讲授新课:1. 霍奇森算法:提问:同学们经常会面对一个共同的问题,就是有时有太多的事情要做. 例如,你可能要面临好几门课的作业的最后期限,你如何合理安排以确保每门课的作业都能如期完成?如果根本不可能全部按期完成,你该怎么办?(霍奇森算法可以使得迟交作业的数目减到最小. 这一算法已经广泛应用于工业生产安排的实践中.)例如:当你拿到下面这组数据后,你会如何安排你的时间,以确保每门课的作业都能如期完成?可用自然语言描述为:①把这些作业按到期日的顺序从左到右排列,从最早到期的到最晚到期的;②假设从左到右一项一项做这些作业的话,计算出从开始到完成某一项作业时所花的时间. 依次做此计算直到完成了所列表中的全部作业而没有一项作业会超期,停止;或你算出某项作业将会超期,继续第三步;③考虑第一项将会超期的作业以及它左边的所有作业,从中取出花费时间最长的那项作业,并把它从表中去掉;④回到第二步,并重复第二到四步,直到做完.2. 孙子问题:韩信是秦末汉初的著名军事家. 据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么办法,不要逐个报数,就能知道场上士兵的人数.韩信先令士兵排成了3列纵队进行操练,结果有2人多余;接着他立刻下令将队形改为5列纵 队,这一改又多出3人;随后他又下令改为7列纵队,这一次又剩下2人无法成整行. 由此得出共有士兵2333人. 如何用现在的算法思想分析这一过程?《孙子算经》中给出了它的具体解法,其步骤是:选定57⨯的倍数,被3除余1,即70;选定37⨯的一个倍数,被5除余1,即21;选定35⨯的一个倍数,被7除余1,即15. 然后按下式计算702213152105m p =⨯+⨯+⨯-,式中105为3,5,7的最小公倍数,p 为适当的整数,使得0105m <≤,这里取2p =.求解“孙子问题”的一种普通算法:第一步:2m =.第二步:若m 除以3余2,则执行第三步;否则1m m =+,执行第二步.第三步:若m 除以5余3,则执行第四步;否则1m m =+,执行第二步.第四步:若m 除以7余2,则执行第五步;否则1m m =+,执行第二步.第五步:输出m .3. 小结:算法的基本思想.三、巩固练习: 作业:教材P38第3题。

1.3.1算法案例(辗转相除法)

1.3.1算法案例(辗转相除法)

程序框图: 程序框图: 开 始 程序: 程序
INPUT “m,n为正整数且m>n”;m,n DO r = m MOD n m= n n = r LOOP UNTIL r=0 PRINT m END
输入正整数m,n( 输入正整数m,n(m>n) m,n r=m MOD n
m=n n=r
r=0? 输出m 输出m 结 束 否
f (x) = an xn + an−1xn−1 +L+ a1x + a0
对该多项式按下面的方式进行改写: 对该多项式按下面的方式进行改写:
f (x) = an xn + an−1xn−1 +L+ a1x + a0
= (an xn−1 + an−1xn−2 +L+ a1)x + a0
=L L
= ((an xn−2 + an−1xn−3 +L+ a2 )x + a1)x + a0
思考1:为什么更相减损术能求两个正整数的最 思考1:为什么更相减损术能求两个正整数的最 1: 大公约数? 大公约数? 练习:用更相减损术求1457 188的最大公约数 1457与 的最大公约数. 练习:用更相减损术求1457与188的最大公约数. 用更相减损术求84 72的最大公约数 84与 的最大公约数. 例2: 用更相减损术求84与72的最大公约数.
2 18 3 9 3 30 15 5
所以, 与 的最大公约数是 的最大公约数是2× 所以,18与30的最大公约数是 ×3=6 思考2: 的最大公约数, 思考 :求8251与6105的最大公约数,用上述 与 的最大公约数 方法适合吗? 方法适合吗?

1.3算法案例(辗转相除法、更相减损术与秦九韶算法)课件(人教A版必修3)

1.3算法案例(辗转相除法、更相减损术与秦九韶算法)课件(人教A版必修3)

• 解析: f(x)=(((((x-5)x+6)x-3)x+1.8)x+ 0.35)x + 2 , v0 = 1 , v1 = v0x - 5 =- 6 , v2 = v1x+6=-6×(-1)+6=12,v3=v2x-3= -15. • 答案:-15
• 类型三 算法思想的应用 • [ 例 4] 运用秦九韶算法求 7 次多项式 f(x) = a7x7 + a6x6 + a5x5 + a4x4 + a3x3 + a2x2 + a1x + a0 当 x = x0 时 的 值 , x0 , a1 ~ a7 都由键盘输入,画出算法的程 序框图. • [解] 程序框图如图1所示: • [点评] 用秦九韶算法对一个n次多项 式变形,可以得到下面的表达式:
计算 方法
v3=v2x+an-3,
… vn=
vn-1x+a0 ,
这样,求n次多项式f(x)的值就转化为求
n个一次多项式 的值
自我检测
• 1 .用辗转相除法求 294 和 84 的最大公 约数时,需要做除法的次数是( ) • A .1 B.2 • C.3 D.4
• 解析:294=84×3+42,84=42×2+0. • 答案:B
更相减损术
①都是求最大公约数的方法. 联 ②二者的实质都是递归的过程 系 . ③二者都要用循环结构来实现.
• 注意:应用更相减损术时,相减之前 先判断两个数是否为偶数,若都是偶 数则要反复除 2 ,直至至少出现一个 奇数为止.最后的公约数也是相减之 后的数乘以约简数. • 2.秦九韶算法的特点 • 秦九韶算法的特点在于把求一个 n 次 多项式的值转化为求 n 个一次多项式 的 值 , 即 把 求 f(x) = anxn + an - 1xn - 1 +…+a1x+a0的值转化为求递推公式:

8§131算法案例——辗转相除法与更相减损术.docx

8§131算法案例——辗转相除法与更相减损术.docx

教师课时教案问题与情境及教师活动学生活动思考3:上述求两个正整数的最大公约数的方法称为辗转相除法或欧几里得算法.一般地,用辗转相除法求两个正整数m, n的最大公约数,可以用什么算法?其算法步骤如何设计?辗转相除法,就是对于给定的两个正整数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽为止,这时的较小的数即为原来两个数的最大公约数.思考4:你能否把辗转相除法编程?辗转相除法求两个数的最大公约数,其算法步骤可以描述如下:第一步,给定两个正整数m, n.第二步,求余数I•:计算m除以n,将所得余数存放到变量I■中.第三步,更新被除数和余数:m=n, n=r.第四步,判断余数「是否为0.若余数为0,则输出结果;否则转向第二步继续循坏执行.程序框图如下图:程序:过程及方法思考4:你能用当型循环结构构造算法,求两个正整数的最大公约数吗?试画出程序框图和程序.当型循坏结构的程序框图如右图程序:探究二:更相减损术思考1:设两个正整数m>n,若m-n=k,则m 与 n 的最大公约数和n 与k 的最大公约数相 等.反复利用这个原理,可求得98与63 的最大公约数为多少? 解:由于63不是偶数,把98和63以大数减小数, 并辗转相减,如下图所示. 所以,98和63的最大公约数等于7. 思考2:上述求两个正整数的最大公约数的方法称 为更相减损术•一般地,用更相减损术求两个正整数m, n 的最 大公约数,可以用什么逻辑结构来构造算法? 更相减损术,就是对于给定的两个正整数,用较大的数减去较小 的数,然后将差和较小的 数构成新的一对数, 继续上面的减法, 直到差和较小的数相等, 此时相等的两数即为原来 两个数的最大公约数. 思考3:你能否把更相减损术编程? 探究三:辗转相除法与更相减损术的区别(1) 都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少, 特别当两个数字大小区别较大时计算次数的区别较明显。

算法案例(完整版)

算法案例(完整版)

例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排列得到 的二进制数.

最新人教版普通高中课程标准实验教科书必修3《算法案例——辗转相除法和更相减损术》说课稿

最新人教版普通高中课程标准实验教科书必修3《算法案例——辗转相除法和更相减损术》说课稿

课题:算法案例——辗转相除法和更相减损术教材:人教版普通高中课程标准实验教科书必修3第一章第1.3节1、教材分析与传统教学内容相比,《算法初步》为新增内容,算法是计算机科学的重要基础,算法思想已经渗透到社会的方方面面,算法思想也逐渐成为每个现代人应具有的数学素养。

算法思想即体现了时代的特点,也是中国古代数学灿烂的历史和巨大的贡献在新层次上的复兴。

本节内容是探究古代算法案例――辗转相除法和更相减损术,经历设计算法解决问题的全过程,体会算法在解决问题中的重要作用,体会算法的基本思想,提高逻辑思维能力,发展有条理的思考和数学表达能力,巩固算法三种描述性语言(自然语言、图形语言和程序语言),提高学生分析和解决问题的能力。

2、教学目标分析:(1)知识目标:①理解辗转相除法和更相减损术求两个正数的最大公约数的原理;②能用写算法步骤、画流程图和编程序表达辗转相除法;说明:在这里,理解案例中的新的知识是理解算法的必要的前提,但重要的是理解案例中的算法核心思想,而不是强调对案例中新知识的记忆和灵活运用。

(2)能力目标:①培养学生把具体问题抽象转化为算法语言的能力;②培养学生自主探索和合作学习的能力。

(3)情感目标:①使学生进一步了解从具体到一般思想方法。

②体会中国古代数学对世界数学的巨大贡献,培养爱国思想和学习数学的积极性。

3、教学重点与难点分析:(1)教学重点:能用写算法步骤、画流程图和编程序表达辗转相除法及更相减损术。

(体会算法解决问题的全过程)(2)教学难点:用不同逻辑结构的程序框图表达算法;4、教学方法与手段(1)、教法:阅读指导,以问题为载体,有引导的对话,让学生经历知识的形成过程和发展过程,有利于学生活动的充分展开。

(2)、学法:以观察、讨论、思考、分析、动手操作、自主探索、合作学习多种形式相结合,引导学生多角度、多层面认识事物,突破教学难点。

5、教学过程设计分析:辅助工具:ppt课件知识准备:带余除法6、评价分析:(1)、指导思想:①新知识与旧知识相结合的原则;②掌握知识与发展智力、能力相统一的原则;③教师的主导作用与学生的主体作用相结合的原则。

高中数学例题:辗转相除法与更相减损术

高中数学例题:辗转相除法与更相减损术

高中数学例题:辗转相除法与更相减损术例1.分别用辗转相除法和更相减损术求378与90的最大公约数.【答案】18【解析】用辗转相除法:378=90×4+18,90=18×5.∴378与90的最大公约数是18.用更相减损术:∵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.【总结升华】比较辗转相除法与更相减损术的区别(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显;(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到.由该题可以看出,辗转相除法得最大公约数的步骤较少.对比两种方法控制好算法的结束,辗转相除法是到达余数为0,更相减损术是到达减数和差相等.举一反三:【变式1】(1)用更相减损术求两个正数84与72的最大公约数.(2)利用辗转相除法求3869与6497的最大公约数与最小公倍数.【解析】(1)因为84=21×4,72=18×4,所以21-18=3,18-3=15,15-3=12,12-3=9,9-3=6,6-3=3.所以21和18的最大公约数等于3.所以84和72的最大公约数等于12.【总结升华】先约简,再求21与18的最大公约数,然后乘以约简的4得84与72的最大公约数.(2)6497=3869×1+2628,3869=2628×1+1241,2628=1241×2+146,1241=146×8+73,146=73×2+0.所以3 869与6 497的最大公约数为73,最小公倍数为3 869×6497÷73=344341.例2.求三个数:168,54,264的最大公约数.【思路点拨】运用更相减损术或辗转相除法,先求168和54的最大公约数a,再求a与264的最大公约数.【答案】6【解析】采用更相减损术先求168和54的最大公约数.(168,54)→(114,54)→(60,54)→(6,54)→(6,48)→(6,42)→(6,36)→(6,30)→(6,24)→(6,18)→(6,12)→(6,6).故168和54的最大公约数为6.采用辗转相除法求6和264的最大公约数.∵264=44×6+0,∴6为264与6的最大公约数,也是这三个数的最大公约数.【总结升华】求最大公约数通常有两种方法:一是辗转相除法;二是更相减损术,对于3个数的最大公约数的求法,则是先求其中两个数的最大公约数m,再求m与第三个数的最大公约数.同样可推广到求3个以上数的最大公约数.举一反三:【变式1】求三个数324,243,135的最大公约数.【答案】27【解析】∵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,∴81是324和243的最大公约数.又135-81=54,81-54=27,54-27=27,∴27是81与135的最大公约数.∴三个数324,243,135的最大公约数为27.例3.甲、乙、丙三种溶液分别重147g、343g、133g,现要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同,问每瓶最多装多少?【思路点拨】由题意,每个小瓶最多能装的溶液的质量应是三种溶液质量的最大公约数.【答案】7g【解析】先求147与343的最大公约数.343-147=196,196-147=49,147-49=98,98-49=49,∴147与343的最大公约数是49.再求49与133的最大公约数.133-49=84,84-49=35,49-35=14,35-14=21,21-14=7,14-7=7.∴147,343,133的最大公约数是7.故每瓶最多装7g.【总结升华】本题关键是分析清楚题意,找出三个数的最大公约数.求三个以上(含三个数)的数的最大公约数时,可依次通过求两个数的最大公约数与第三个数的最大公约数来求得.。

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进制

1.3算法案例第一课时 辗转相除法与更相减损术

1.3算法案例第一课时 辗转相除法与更相减损术

1.3 算法案例第一课时辗转相除法与更相减损术学习目标弄清算法原理,掌握算法程序,经历算法设计过程,体会算法设计的关键环节,领悟算法思想.重点:算法案例的原理、算法设计及算法思想的体会.难点:理解算法案例的内容及具体算法设计的关键步骤.一、课前自主预习1.用两数中的数减去的数,再用构成新的一对数,再用减,以同样的操作一直做下去,直到所得的两数相等为止,这个数就是这两个数的最大公约数.这个方法称作“更相减损术”,用它编写的算法称作“等值算法”.2.古希腊求两个正整数的最大公约数的方法是:用除以所得的和构成新的一对数,继续做上面的除法,直到大数被小数除尽,这个较小的数就是最大公约数.据此编写的算法,也称作“欧几里得算法”.3.对于正整数m与n(m>n),总能找到整数q和r(0≤r<n)使得m=nq+r成立,这个除法称为带余除法.通常记r=m MOD n.二、思路方法技巧[例1] 用辗转相除法和更相减损术两种方法求80和36的最大公约数.跟踪练习1(1)用辗转相除法求288与123的最大公约数.(2)用更相减损术求57与93的最大公约数.(3)求567与405的最小公倍数.[例2] 求324,243和135的最大公约数.随堂应用练习1.在对16和12求最大公约数时,整个操作如下:(16,12)―→(4,12)―→(4,8)―→(4,4),由此可以看出12和16的最大公约数是________.2.1443与999的最大公约数是________.3.运算速度快是计算机一个很重要的特点,而算法好坏的一个重要标志是________.4.2004与4509的最大公约数为________.5.写出从键盘任意输入两个正整数a,b,输出这两个数的最小公倍数的算法,画出程序框图,写出算法语句.。

算法案例辗转相除法与更相减损术演示文稿

算法案例辗转相除法与更相减损术演示文稿
算法案例辗转相除法与更相减 损术演示文稿
优选算法案例辗转相除法与更 相减损术
〖复习回顾〗
求两个正整数的最大公约数的方法
例如:求18与30的最大公约数
方法1:质因数分解法 18 233,30 235 18与30最大公约数为23 6
记作(18,30)=6
方法2:短除法
2 18 30
3 9 15 35
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
练习:用更相减损术求两个正数84与72的最大公约数。
分析:先约简,再求21与18的最大公约数,然后乘以两次约
简的质因数4 (答案:12)
思考:你能根据更相减损术设计程序,求两个正整 数的最大公约数吗?
开始
输m,n(m>n)
K=0
K=k+1

m,n为偶数?
否 d=m-n
m=m/2
n=n/2
d=m-n
n=d
m=d

d<>n?
m=n


d>n?

输出2^k * d
结束
INPUT “m,n=“;m,n K=0 WHILE m MOD 2=0 AND n MOD 2=0
m=m/2 n=n/2 k=k+1 WEND d=m- n

输出m 结束
(3)、程序
INPUT m,n WHILE m<>n
k=m-n IF mn=>nk THEN
n=k ELSEm=k END IF WEND PRINT m END

第1章算法初步 第3节 算法案例辗转相除法与更相减损术 Word版含答案

第1章算法初步 第3节 算法案例辗转相除法与更相减损术 Word版含答案

忻州二中高一数学学科学案
(必修三)第一章算法初步第三节算法案例
辗转相除法与更相减损术
(主编:翟全福审核:朱爱荣终审:杜慧兰编号:12041 启用:)【学习目标】1.知道辗转相除法与更相减损术的含义,并了解其过程.
2.进一步体会算法的基本思想.
【文本研读】研读要求:
阅读课本第34页------第37页完成以下几个问题:
1.辗转相除法的算法思想是什么?你能阐述一下其算法步骤吗?
2.你能写出辗转相除法的程序框图及程序吗?
3.更相减损术的算法思想是什么?你能阐述一下其算法步骤吗?
4.你能写出更相减损术的程序框图及程序吗?
【思维导图】
【尝试探究】
DC复述识记题:
1.复述辗转相除法求最大公约数的步骤
2. .复述更相减损术求最大公约数的步骤
DC阅读思考:
课本第36页的例1。

DC针对练习题:
1.下列说法中正确的个数为
A. 辗转相除法也叫欧几里得算法;
B. 辗转相除法的基本步骤是用较大的数除以较小的数;
C. 求最大公约数的方法,除辗转相除法外,没有其他的方法;
D. 编写辗转相除法的程序时,要用到循环语句.
2..用辗转相除法求840和1785的最大公约数.
BA典型强化题:
1.用更相减损术求295和85的最大公约数.
2.用辗转相除法求1743和816的最大公约数.
BA自主设计:
【学习总结】课前疑惑:
课间得失:
课后反思:
学班学组姓名。

算法案例-辗转相除法与更相减损术、秦九韶算法-优质获奖精品课件 (99)

算法案例-辗转相除法与更相减损术、秦九韶算法-优质获奖精品课件  (99)

[精解详析] (1)101 111 011(2)=1×28+0×27+1×26+ 1×25+1×24+1×23+0×22+1×21+1×20=379(10). (2)235(7)=2×72+3×71+5×70=124(10). (3)
∴137(10)=345(6).
(4)53(8)=5×81+3×80=43(10). ∴53(8)=101 011(2).
[一点通]
1.k进制数化为十进制数的步骤: (1)把k进制数写成不同数位上的数字与k的幂
的乘积之和的形式. (2)按十进制数的运算规则运算出结果.
2.十进制数化为k进制数(除k取余法)的步骤:
6.二进制数101 110(2)转化为八进制数为 ( )
A.45(8)
B.56(8)
C.67(8)
D.78(8)
3.不同进位制的数照样可比较大小.但一 般要转化到同一进位制下比较大小.
[例1] 求228与1 995的最大公约数 [思路点拨] 可以考虑用辗转相除法,也可考虑用更 相减损术. [精解详析] 法一(辗转相除法) 1 995=8×228+ 171,228=1×171+57,171=3×57, 所以228与1 995的最大公约数为57.
解析:先化成十进制,再化成八进制 101 110(2)=1×25+0×24+1×23+1×22+1×2 +0=46.
∴46=56(8). 答案:B
7.下列所给的四个数中,最小的是
()
A.3 732(8)
B.5 555(7)
C.2 011
D.133 210(4)
解析:将各项都化成十进制数再比较大小.
必须从下到上排列;(3)切记在所求数的右下角标明基数.
秦九韶算法
功能 它是一种用于计算 一元n次多项式 的值的方法

算法案例-辗转相除法与更相减损术、秦九韶算法-优质获奖精品课件 (18)

算法案例-辗转相除法与更相减损术、秦九韶算法-优质获奖精品课件  (18)
an×果k.n+如ana-n1a×n-kn1-…1+a…2a1+a0a(2k×)=k2+a1×k+a0 .其中 要注意 的是,k的幂的最高次数应是该k进制的位数减去 1,然后逐个减小1,最后是0次幂.
• (2)将十进制化为k进制数的方法叫 除k取余法 .即用k连续去除该十进制数或所得的商,
直到商是零为止,然后把每次所得的余数倒着 排成一列,就是相应的k进制数.例如,把十进 制数化为二进制数的方法是除2取余法.
• WHILE q<>0
• q=a\k • r=a MOD k • b=b+r*10^i
列得
• • i=i+1 • a=q • WEND
• PRINT b • END
←求a除以k的整数商 ←求a除以k的余数 ←把余数依次从右到左排
到k进制数b
• (5)k进制数的性质:
• ①在k进制中,具有k个数字符号;例如十 进制,有0,1,2,3,4,5,6,7,8,9十个数字.十六 进制有0~9和A、B、C、D、E、F共十六 个数字.
• 1.把一个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 • =…
行的运算,故用循环语句来实现.
(1)秦九韶算法过程分析:
由于vv0k==vakn-,1x+an-k. 其中 k=1,2,…,n. 这样我们便可由 v0 依次求出 v1,v2,…,vn: v1=v0x+an-1,v2=v1x+an-2,v3=v2x+an-3,…,vn= vn-1x+a0. 于是我们用 v 来记录每次一次式计算的结果,最初赋值 v=an,用 v=v*x+an-i 实现递推循环,i 的初值为 1,i=i+ 1 记录循环次数,i≤n 控制何时结束循环输出 v.f(x)的系数 ak 用一个循环语句实现输入.

辗转相除法与更相减损术课件

辗转相除法与更相减损术课件

• 二、解答题
• 5.写出从键盘任意输入两个正整数a,b, 输出这两个数的最小公倍数的算法,画出 程序框图,写出算法语句.
[解析] 从键盘输入两数 a,b 后,先求两数的最大公 约数 k,再计算两数的最小公倍数 p=ak·b,输出 p 即可.
程序框图如右图. 程序为: INPUT “正整数 a,b=”;a,b
• [点评] (1)辗转相除法是当大数被小数除 尽时,结束除法运算,较小的数就是最大 公约数;更相减损术是当大数减去小数的 差等于小数时停止减法运算,较小的数就 是最大公约数.
• (2)用更相减损术求时,如果先约去2×2, 则变为求20和9的最大约数,最后结果再 乘以4.
• [例2] 求324,243和135的最大公约数. • [解析] 先求324与243的最大公约数a,再求a与
p=a*b IF a<b THEN
t=a a=b b=t END IF DO
• r=a MOD b • a=b • b=r • LOOP UNTIL r=0 • p=p/a • PRINT “m、n的最小公倍数为”;p
• END.
算法案例
• [例1] 用辗转相除法和更相减损术两种方 法求80和36的最大公约数.
• [解析] 用辗除相除法: • 80=36×2+8, • 36=8×4+4, • 8=4×2+0. • 故80和36的最大公约 • 44-36=8, • 36-8=28, • 28-8=20, • 20-8=12, • 12-8=4, • 8-4=4. • ∴80和36的最大公约数是4.
135的最大公约数b,则b为这三个数的最大公约 数. • ∵324=243×1+81 • 243=81×3+0 • 则324与243最大公约数为:a=81 • 又∵135=81×1+54 • 81=54×1+27 • 54=27×2+0 • 则81与135的最大公约数为27 • ∴324、243、135的最大公约数为27.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二步 对6105和2146重复第一步的做法 6105=2146×2+1813 同理6105和2146的最大公约数也是2146和1813的最大公约数。
完整的过程
8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333
例2 用辗转相除法求225和135的最大公约数 225=135×1+90 135=90×1+45 90=45×2 显然45是90和45的最大公约数,也就是 225和135的最大公约数 思考1:从上面的两个例子可以看出计 算的规律是什么?
1813=333×5+148 333=148×2+37
148=37×4+0 显然37是148和37的最大公约 数,也就是8251和6105的最 大公约数
S1:用大数除以小数
S2:除数变成被除数,余数变成除数 S3:重复S1,直到余数为0
辗转相除法是一个反复执行直到余数等于0停止的步骤,这实际上是 一个循环结构。
欧 几 里 德
辗转相除法(欧几里得算法)
观察用辗转相除法求8251和6105的最大公约数的过程
第一步 用两数中较大的数除以较小的数,求得商和余数 8251=6105×1+2146
结论: 8251和6105的公约数就是6105和2146的公约数,求8251和 6105的最大公约数,只要求出6105和2146的公约数就可以了。
第一步:任意给定两个正整数;判断他们是否都是偶数。若是,则用2 约简;若不是则执行第二步。
第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并 以大数减小数。继续这个操作,直到所得的减数和差相等为止,则这个 等数就是所求的最大公约数。
例3 用更相减损术求98与63的最大公约数 解:由于63不是偶数,把98和63以大数减小数,并辗转相减 98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7
m=n×q+r
用程序框图表示出右边的过程
8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333
r=m MOD n
m=n
n=r r=0? 否
1813=333×5+148
333=148×2+37 148=37×4+0

《九章算术》——更相减损术
算理:可半者半之,不可半者,副置分母、子之数,以少减多,更相减 损,求其等也,以等数约之。
所以,98和63的最大公约数等于7
练习: 课本:P140 3
算 法 案最大公约数
(1)求25和35的最大公约数 (2)求49和63的最大公约数
(1) 5
25
5
35
7
(2) 7
49
63
7
9
所以,25和35的最大公约数为5
所以,49和63的最大公约数为7
2、求8251和6105的最大公约数

辗转相除法, 又名 “欧几里德算法” (Euclidean algorithm)乃求两 数之最大公因数算 法。它是已知最古 老的算法, 其可追溯 至前300年。它首 次出现于欧几里德 的《几何原本》中, 而在中国则可以追 溯至东汉出现的 《九章算术》。它 并不需要把二数作 质因数分解
相关文档
最新文档