1、1.3 算法案例1会用辗转相除法与更相减损术求两个数的最大公约数(易错易混点)2会用秦九韶算法求多项式的值(难点)3会在不同进位制间进行相互转化(重点)基础初探教材整理 1 辗转相除法与更相减损术阅读教材 P34P 36 例 1 前的内容,完成下列问题1辗转相除法(1)辗转相除法是用于求两个正整数的最大公约数的一种算法,这种算法是由欧几里得在公元前 300 年左右首先提出的,因而又叫欧几里得算法(2)所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数2更相减损术
2、更相减损术是我国古代数学专著九章算术中介绍的一种求两数最大公约数的方法其基本过程是:第一步,任意给定两个正整数,判断它们是否都是偶数若是,用 2 约简;若不是,执行第二步第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数继续这个操作,直到所得的数相等为止,则这个数或这个数与约简的数的乘积就是所求的最大公约数(1)228 与 1 995 的最大公约数是_(2)18 与 30 的最大公约数是_【解析】 (1)1 9952288171,228171157,171573,57 是 228 与 1 995 的最大公约数(2)301812 ,18126,1266,18 与 30
3、的最大公约数是 6.【答案】 (1)57 (2)6教材整理 2 秦九韶算法阅读教材 P37P 38 例 2 前的内容,完成下列问题求多项式 f(x)a nxna n1 xn1 a 1xa 0 的值时,常用秦九韶算法,这种算法的运算次数较少,是多项式求值比较先进的算法,其实质是转化为求 n个一次多项式的值,共进行 n 次乘法运算和 n 次加法运算其过程是:改写多项式为:f(x)a nxna n1 xn1 a 1xa 0(a nxn1 a n1 xn2 a1)xa 0(a nxn2 a n1 xn3 a 2)xa 1)xa 0(a nxa n1 )xa n2 )xa 1)xa 0.设 v1a nx
4、 an1 ,v2v 1xa n 2,v3v 2xa n 3,vnv n1 xa 0.设计程序框图,用秦九韶算法求多项式的值,所选用的结构是( )A顺序结构 B条件结构C循环结构 D以上都有【解析】 根据秦九韶算法的含义知选 D.【答案】 D教材整理 3 进位制阅读教材 P40 的内容,完成下列问题1进位制是人们为了计数和运算方便而约定的记数系统 “满 k 进一”就是 k 进制,k 进制的基数是 k.2将 k 进制数化为十进制数的方法是:先把 k 进制数写成 各位上的数字与k 的幂的乘积之和 的形式,再 按照十进制数的运算规则计算出结果3将十进制数化为 k 进制数方法是: 除 k 取余法 即用
5、k 连续去除十进制数所得的商,直到商为零为止,然后把各步得到的余数倒排写出就是相应的 k进制数判断(正确的打“” ,错误的打“”)(1)五进制的基数是 5,用 0,1,2,3,4,5 六个数字表示( )(2)秦九韶算法的优点是减少了乘法运算的次数,提高了运算效率( )(3)用秦九韶算法可以求两个正整数的最大公约数( )(4)不同进位制中,十进制的数比二进制的数大( )【答案】 (1) (2) (3) (4) 小组合作型求最大公约数(1)98,280 的最大公约数为( )A7 B14C16 D8(2)用更相减损术求得 78 与 36 的最大公约数为_【精彩点拨】 求两个数的最大公约数可用辗转相除
6、法,也可用更相减损术【尝试解答】 (1)由辗转相除法可得:28098284,9884114,84146.故最大公约数为 14.也可以使用更相减损术或短除法(2)783642,42 366,36630,30624,24618,18612,1266.【答案】 (1)B (2)61求两个正整数的最大公约数的问题,可以用辗转相除法,也可以用更相减损术用辗转相除法,即根据 anbr 这个式子,反复相除,直到 r0 为止;用更相减损术,即根据 r|ab| 这个式子,反复相减,直到 r0 为止2当两个整数的差较大时,用辗转相除法计算的次数较少再练一题1用辗转相除法求 78 与 36 的最大公约数【解】 由辗
7、转相除法得,783626,3666,故 78 与 36 的最大公约数是 6.秦九韶算法已知一个 5 次多项式为 f(x)4x 52x 43.5x 32.6x 21.7x0.8,用秦九韶算法求这个多项式当 x5 时的值【精彩点拨】 可根据秦九韶算法原理,将所给的多项式改写,然后由内到外逐次计算【尝试解答】 将 f(x)改写为 f(x)(4x2)x3.5)x2.6)x1.7)x 0.8,由内向外依次计算一次多项式,当 x5 时的值:v04;v145222;v22253.5113.5;v3113.552.6564.9;v4564.951.72 826.2;v52 826.250.814 130.2.
8、所以当 x5 时,多项式的值等于 14 130.2.1先将多项式写成一次多项式的形式,然后运算时从里到外,一步一步地做乘法和加法即可这样比直接将 x2 代入原式大大减少了计算量若用计算机计算,则可提高运算效率2注意:当多项式中 n 次项不存在时,可将第 n 项看作 0xn.再练一题2用秦九韶算法计算 f(x)6x 54x 4x 32x 29x ,需要加法(或减法) 与乘法运算的次数分别为( )A5,4 B5,5 C4,4 D4,5【解析】 n 次多项式需进行 n 次乘法;若各项均不为零,则需进行 n 次加法,缺一项就减少一次加法运算f(x) 中无常数项,故加法次数要减少一次,为 514.故选
9、D.【答案】 D探究共研型进位制及其转化探究 1 常见进位制有哪些?【提示】 (1)十进制使用 0,1,2,3,4,5,6,7,8,9 这十个数字,基数为 10.(2)二进制使用 0 和 1 这两个数字,基数为 2.(3)八进制使用 0,1,2,3,4,5,6,7 这八个数字,基数为 8.(4)十六进制使用 0,1,2,3,4,5,6,7,8,9,A,B ,C ,D, E,F 这十六个符号,基数为 16.其中 A,B,C,D,E,F 分别相当于十进制中的 10,11,12,13,14,15.探究 2 两个非十进制的数之间怎样转化?【提示】 两个非十进制的数之间的转化,可以先化成十进制数,再化成
10、另一进制的数,即将十进制作为“桥梁” 探究 3 不同进位制的数能比较大小吗?【提示】 进位制是人们为了计数和运算方便而约定的记数系统,不同进位制的数可以比较大小,一般转化成十进制数比较大小更方便探究 4 进位制的原理是什么?不同的进位制如何区分?【提示】 (1)十进制的原理是满十进一一个十进制正整数 N 可以写成an10n an1 10n1 a1101a 0100 的形式,其中 an,a n1 ,a 1,a 0 都是 0 至 9 中的数字,且 an0.例如 365310 26105.(2)一般地,k 进制数的原理是满 k 进一,k 进制数一般在右下角处标注(k),以示区别例如 270(8)表示
11、 270 是一个 8 进制数但十进制一般省略不写把“五进制”数 1234(5)转化为“十进制”数,再把它转化为“八进制”数. 【精彩点拨】 k 进制化十进制时,利用求各位上的数与 k 的幂的乘积后再相加的方法,十进制化其他进制可采用除 k 取余法【尝试解答】 1 234 (5)15 325 235 145 0194,而1 234 (5)194 (10)302 (8)把一个非十进制转化为另一种非十进制数,通常是把这个数先转化为十进制数,然后再利用除 k 取余法,把十进制数转化为 k 进制数.而在使用除 k 取余法时要注意以下几点:1必须除到所得的商是 0 为止;2各步所得的余数必须从下到上排列;
12、3切记在所求数的右下角标明基数.再练一题3210 (6)化成十进制数为_,85 化成七进制数为_. 【解析】 210 (6)26 21678,所以 85151 (7)【答案】 78 151 (7)秦九韶算法中的运算次数直接法乘法运算的次数最多可达 ,加法最多 n 次,秦九韶算法通过n 1n2转化把乘法运算的次数减少到最多 n 次,加法最多 n 次已知 f(x)x 52x 43x 34x 25x 6,用秦九韶算法求这个多项式当 x2 时的值时,做了几次乘法?几次加法?【尝试解答】 在 v1 中虽然“v 1224” ,而计算机还是做了 1 次乘法“v12124” 因为用秦九韶算法计算多项式 f(x
13、)a nxna n1 xn1 a 1xa 0 当 xx 0 时的值时,首先将多项式改写成 f(x)(a nxa n1 )xa 1)xa 0,然后再计算v1a nxa n 1,v 2v 1x an2 ,v 3v 2xa n3 ,v nv n1 xa 0.无论 an是不是 1,这次的乘法都是要进行的由以上分析,共做了 5 次乘法,5 次加法再练一题4用秦九韶算法求多项式 f(x)4x 5x 22 当 x3 时的值时,需要进行的乘法运算和加法运算的次数分别为( )A4,2 B5,3 C5,2 D6,2【解析】 f(x )4x 5x 22(4x)x)x 1)x)x 2,需 5 次乘法运算和 2 次加法
14、运算【答案】 C1490 和 910 的最大公约数为( )A2 B10 C30 D70【解析】 9104901420,490420170,420706,故最大公约数为 70.【答案】 D2用更相减损术求 294 和 84 的最大公约数时,需做减法的次数是( ) A2 B3 C4 D5【解析】 29484210,21084126,1268442,844242.【答案】 C3下列有可能是 4 进制数的是( )A5123 B6542 C3103 D4312【解析】 4 进制数每位上的数字一定小于 4,故选 C.【答案】 C4将 51 化为二进制数得_【解析】 【答案】 110 011 (2)5利用秦
15、九韶算法求 f(x)x 5x 3x 2x 1 当 x3 时的值【解】 原多项式可化为:f(x)(x 0)x1)x1)x 1)x1当 x3 时v01,v 11303,v 233110,v3103131,v 4313194,v59431283.所以,当 x 3 时 f(3)283.学业分层测评( 八) 算法案例(建议用时:45 分钟)学业达标一、选择题1关于进位制说法错误的是( )A进位制是人们为了计数和运算方便而约定的记数系统B二进制就是满二进一,十进制就是满十进一C满几进一,就是几进制,几进制的基数就是几D为了区分不同的进位制,必须在数的右下角标注基数【解析】 一般情况下,不同的进位制须在数的
16、右下角标注基数,但十进制可以不用标注,所以不是必须在数的右下角标注基数,所以 D 错误【答案】 D2下列四个数中,数值最小的是( )A25 (10) B54 (4) C10 110(2) D10 111 (2)【解析】 统一成十进制,B 中,54 (4)54 1424.C 中,10 110(2)12 412 2222.D 中,10 111 (2)23.【答案】 C3用更相减损术求 1 515 和 600 的最大公约数时,需要做减法次数是( ) A15 B14C13 D12【解析】 1 515600915,915600315,600315285,31528530,28530255,2553022
17、5,22530195,19530165,16530135,13530105,1053075,753045,453015,301515.1 515 与 600 的最大公约数是 15,则共做 14 次减法【答案】 B4计算机中常用的十六进制是逢 16 进 1 的计数制,采用数字 09 和字母AF 共 16 个计数符号,这些符号与十进制数的对应关系如下表:十六进制0 1 2 3 4 5 6 7 8 9 A B C D E F十进制0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15例如,用十六进制表示:ED1B,则 AB 等于( )A6E B72C5F DB0【解析】 AB 用十进制表示 1011110,而 11061614,所以用16 进制表示 6E.【答案】 A5以下各数有可能是五进制数的是( )A15 B106C731 D21 340【解析】 五进制数中各个数字均是小于 5 的自然数,故选 D.【答案】 D二、填空题6用更相减损术求 36 与 134 的最大公约数,第一步应为_ 【解析】 36 与 134 都是偶数,第一步应为:先除以 2,得到 18 与67.【答案】 先除以 2,得到 18 与 677用秦九韶算法求 f(x) 2x3x3 当 x3 时的值 v2_.