t=a
a=b
b=t
ENDIF
c=a-b
a=b
b=c
LOOPUNTILa=b
PRINTa^i
END
要点诠释:
用辗转相除法步骤较少,而更相减损术虽然有些步骤较长,但运算简单.
要点三、秦九韶计算多项式的方法
令
,则有
,其中
.这样,我们便可由
依次求出
;
要点诠释:
显然,用秦九韶算法求n次多项式的值时只需要做n次乘法和n次加法运算
要点四、进位制
进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值.可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制.现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数.
对于任何一个数,我们可以用不同的进位制来表示.比如:
十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的.
表示各种进位制数一般在数字右下角加注来表示,如111001
(2)表示二进制数,34(5)表示5进制数.
1.k进制转换为十进制的方法:
,把k进制数a转化为十进制数b的算法程序为:
INPUT“a,k,n=”;a,k,n
i=1
b=0
WHILEi<=n
t=GETa[i]
b=b+t*k^(i-1)
i=i+1
WEND
PRINTb
END
2.十进制转化为k进制数b的步骤为:
第一步,将给定的十进制整数除以基数k,余数便是等值的k进制的最低位;
第二步,将上一步的商再除以基数k,余数便是等值的k进制数的次低位;
第三步,重复第二步,直到最后所得的商等于0为止,各次所得的余数,便是k进制各位的数,最后一次余数是最高位,即除k取余法.
要点诠释:
1、在k进制中,具有k个数字符号.如二进制有0,1两个数字.
2、在k进制中,由低位向高位是按“逢k进一”的规则进行计数.
3、非k进制数之间的转化一般应先转化成十进制,再将这个十进制数转化为另一种进制的数,有的也可以相互转化.
【典型例题】
类型一:
辗转相除法与更相减损术
例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.
所以3869与6497的最大公约数为73,
最小公倍数为3869×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.甲、乙、丙三种溶液分别重
、
、
,现要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同,问每瓶最多装多少?
【思路点拨】由题意,每个小瓶最多能装的溶液的质量应是三种溶液质量的最大公约数.
【答案】
【解析】
先求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.
故每瓶最多装
.
【总结升华】本题关键是分析清楚题意,找出三个数的最大公约数.求三个以上(含三个数)的数的最大公约数时,可依次通过求两个数的最大公约数与第三个数的最大公约数来求得.
类型二:
秦九韶算法
例4.利用秦九韶算法求
在x=0.2时的值.写出详细计算过程.
【思路点拨】秦九韶算法是我国南宋的数学家秦九韶首先提出来的.
(1)特点:
它通过一次式的反复计算,逐步计算高次多项式的求值问题,即将一个n次多项式的求值问题,归结为重复计算n个一次式
.即
.
(2)具体方法如下:
已知一个一元n次多项式
0.当x=x0,我们可按顺序一项一项地计算,然后相加,求得
.
【答案】1.2214024
【解析】
v0=0.00835,
v1=v0x+0.04168=0.00835×0.2+0.04168=0.04335,
v2=v1x+0.16663=0.04335×0.2+0.16663=0.1753,
v3=v2x+0.5=0.1753×0.2+0.5=0.53506,
v4=v3x+1=0.53506×0.2+1=1.107012,
v5=v4x+1=1.107012×0.2+1=1.2214024.
【总结升华】秦九韶算法的原理是
.
在运用秦九韶算法进行计算时,应注意每一步的运算结果,像这种一环扣一环的运算,如果错一步,则下一步,一直到最后一步就会全部算错.同学们在计算这种题时应格外小心.
举一反三:
【变式1】用秦九韶算法求多项式
当x=2时的值.
【答案】1397
【解析】
.
v0=8,
v1=8×2+5=21,
v2=21×24-0=42,
v3=42×24-3=87,
v4=87×2+0=174,
v5=174×2+0=348,
v6=348×2+2=698,
v7=698×2+1=1397,
所以,当x=2时,多项式的值为1397.
【变式2】用秦九韶算法计算多项式
在x=0.4时的值时,需做加法和乘法的次数和是()
A.10B.9C.12D.8
【答案】C
【解析】
.
∴加法6次,乘法6次,
∴6+6=12(次),故选C.
类型三:
进位制
例5.
(1)试把十进制数136转化为二进制数;
(2)试把十进制数1234转化为七进制数.
【答案】
(1)10001000
【解析】
(1)由于136=2×68+0,
68=2×34+0.
34=2×17+0.
17=2×8+1.
8=2×4+0.
4=2×2+0.
2=2×1+0.
1=2×0+1.
所以136=10001000
(2).
(2)1234=7×176+2,
176=7×25+1.
25=7×3+4.
3=7×0+3.
所以1234=3412(7).
【总结升华】
(1)应注意搞清每一次除法中的被除数、除数,当商为零时停止除法,把每步所得的余数倒着排成一个数,就是相应的二进制数.
(2)十进制数转化为七进制数与转化为二进制数的方法类似,要认真体会其原理.
举一反三:
【变式1】
(1)把十进制数89转化为二进制数;
(2)将十进制数2l转化为五进制数.
【解析】
(1)用除2取余法:
∴89=2×(2×(2×(2×(2×(2×(2×0+1)+0)+1)+1)+0)+0)+1=2×(2×(2×(2×2×(22×0+2+0)+1)+1)+0)+0)+1=……=1×26+0×25+1×24+1×23+0×22×0×21+1×20=1011001
(2)
(2)用除5取余法,可得
∴21=41(5).
例6.把210121l(3)转化为八进制数.
【答案】3326(8)
【解析】先将三进制数转化为十进制数,再将十进制数转化为八进制数.
2101211(3)
=2×36+1×35+1×33+2×32+1×31+1×30
=1458+243+27+18+3+1
=1750.
1750=8×218+6.
218=8×27+2.
27=8×3+3.
∴1750=8×218+6
=8(8×27+2)+6
=8(8(8×3+3)+2)+6
=8(3×82+3×8+2)+6
=3×83+3×82+2×8+6
=3326(8),
∴2101211(3)=3326(8).
【总结升华】从本例的解答中,大家要有两个提高.
第一,把三进制数转化为八进制数,十进制数起了桥梁和纽带的作用,具体体现是2101211(3)=1750=3326(8).
第二,在把1750转化为3326(8)时,我们没有列竖式,大家要从中体会一下方法的内在规律.
举一反三:
【变式1】在十进制中,
,那么在五进制中数码2004折合成十进制为()
A.29B.254C.602D.2004
【答案】B
解析:
,故选B.
【变式2】
(1)将二进制数
(2)转化成十进制数;
(2)将七进制数235(7)转化成八进制数.
【答案】
(1)
(2)174(8)
【解析】对于
(1),按照形式anan―1an―2…a1a0
(2)=an×2n+an―1×2n―1+…+a1×2+an计算即可;对于
(2),先将七进制数转化成十进制数,再将所得十进数转化成八进制数.
(1)
.
(2)235(7)=2×72+3×7+5=124,利用除8取余法得124=174(8),过程如图所示,所以235(7)转化成八制数为174(8).