资源描述
1.3 算法案例
一、基础达标
1.下列说法中正确的个数为 ( )
(1)辗转相除法也叫欧几里得算法;
(2)辗转相除法的基本步骤是用较大的数除以较小的数;
(3)求最大公约数的方法,除辗转相除法之外,没有其他方法;
(4)编写辗转相除法的程序时,要用到循环语句.
A.1 B.2 C.3 D.4
答案 C
解析 (1)、(2)、(4)正确,(3)错误.
2.1 037和425的最大公约数是 ( )
A.51 B.17 C.9 D.3
答案 B
解析 ∵1 037=425×2+187,
425=187×2+51,
187=51×3+34,
51=34×1+17,
34=17×2,
即1 037和425的最大公约数是17.
3.用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1当x=0.4时的值时,需要做乘法和加法的次数分别是 ( )
A.6,6 B.5,6 C.5,5 D.6,5
答案 A
解析 秦九韶算法中最多需用加法和乘法的次数,由多项式的次数n可知,∴选A.
4.两个二进制数101(2)与110(2)的和用十进制数表示为 ( )
A.12 B.11 C.10 D.9
答案 B
解析 101(2)=1×22+0×21+1×20=5,110(2)=1×22+1×21+0×20=6.
5.已知f(x)=x5+2x3+3x2+x+1,应用秦九韶算法计算x=3时的值时,v3的值为 ( )
A.27 B.11
C.109 D.36
答案 D
解析 将函数式化成如下形式.
f(x)=((((x+0)x+2)x+3)x+1)x+1
由内向外依次计算:v0=1,
v1=1×3+0=3,
v2=3×3+2=11,
v3=11×3+3=36.
6.三位七进制数中的最大数表示的十进制的数是 ( )
A.322 B.402 C.342 D.365
答案 C
解析 三位七进制数中的最大数为666(7),则转化为十进制为666(7)=6×72+6×71+6×70=294+42+6=342.
7.(1)用辗转相除法求288与123的最大公约数.
(2)用更相减损术求57与93的最大公约数.
解 (1)288=123×2+42,123=42×2+39,
42=39×1+3,39=3×13,
∴288和123的最大公约数是3.
(2)(93,57)→(36,57)→(36,21)→(15,21)→(15,6)→(9,6)→(3,6)→(3,3),
∴93与57的最大公约数是3.
二、力量提升
8.下列各数中最小的数是 ( )
A.101 010(2) B.210(8)
C.1 001(16) D.81
答案 A
解析 101010(2)=1×25+0×24+1×23+0×22+1×21+0×20=42.
210(8)=2×82+1×81+0×80=136,
1001(16)=1×163+0×162+0×16+1×160=4 097,故选A.
9.将八进制数127(8)化成二进制数为________.
答案 1 010 111(2)
解析 先将八进制数127(8)化为十进制数:127(8)=1×82+2×81+7×80
=64+16+7=87,
再将十进制数87化成二进制数:
∴87=1 010 111(2),
∴127(8)=1 010 111(2).
10.用秦九韶算法求函数f(x)=1+2x+x2-3x3+2x4,当x=-1时的值时,v2的结果是________.
答案 6
解析 此题的n=4,a4=2,a3=-3,a2=1,a1=2,a0=1,
由秦九韶算法的递推关系式(k=1,2,…,n),得v1=v0x+a3=2×(-1)-3=-5.
v2=v1x+a2=-5×(-1)+1=6.
11.用秦九韶算法求多项式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,所以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.
三、探究与创新
12.有甲、乙、丙三种溶液分别重147 g,343 g,133 g,现要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同,每瓶最多装多少克溶液?
解 每个小瓶装的溶液的质量应是三种溶液质量的最大公约数,先求147和343的最大公约数.343-147=196,196-147=49,147-49=98,98-49=49.
∴147和343的最大公约数为49.
同理可求得49与133的最大公约数为7.
所以每瓶最多装7克.
13.分别用算法步骤、程序框图、程序语句表示把k进制数a(共有n位数)转化成十进制数b.
解 算法步骤:
第一步,输入a,k,n的值.
其次步,赋值b=0,i=1.
第三步,b=b+ai·ki-1,i=i+1.
第四步,推断i>n是否成立.若是,则执行第五步;否则,返回第三步.
第五步,输出b的值.
程序框图:
程序语句:
展开阅读全文