- 算法案例
- 共287题
写出一个求有限整数列中的最大值的算法。
正确答案
解:算法如下:
第一步:先假定序列中的第一个整数为“最大值”;
第二步:将序列中的下一个整数与“最大值”比较,如果它大于此“最大值”,这时就假定“最大值”是这个整数;
第三步:如果序列中还有其他整数,重复第二步;
第四步:在序列中一直到没有可比的数为止,这时假定的 “最大值”就是这个序列中的最大值。
利用辗转相除法求3869与6497的最大公约数与最小公倍数。
正确答案
解: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。
用更相减损术求两个正数84与72的最大公约数。
正确答案
解:因为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。
在计算机的运行过程中,常常要进行二进制数与十进制数的转换与运算。如:十进制数8转换成二进制数是1 000,记作8(10)=1 000(2);二进制数111转换成十进制数是7;记作111(2)=7(10)。二进制数的四则运算,如:11(2)+101(2)=1000(2).请计算:11(2)×111(2)+1111(2)=( )。(结果用二进制数表示)
正确答案
100100(2)
把下列各数化为十进制数。
(1)20121(3);(2)20121(4)。
正确答案
解:(1)20121(3)=2×34+0×33+1×32+2×3+1=178;
(2)20121(4)=2×44+0×43+1×42+2×4+1=537。
分别用辗转相除法和更相减损术求378与90的最大公约数。
正确答案
解:用辗转相除法:
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。
用秦九韶算法计算f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x,当x=3时的值。
正确答案
解:原多项式可化为
所以,当x=3 时,多项式的值为21324。
把十进制数48转化为二进制数。
正确答案
解:将十进制数48转化为二进制数的除法算式如图所示,
把上式中各步所得的余数从下到上排列,得到48=110000(2)。
已知n次多项式Pn(x)=a0xn+a1xn-1+…+an-1x+an。如果在一种算法中,计算x0k(k=2,3,4,…,n)的值需要k-1次乘法,计算P3(x0)的值共需要9次运算(6次乘法,3次加法),那么计算P10(x0)的值共需要( )次运算。
下面给出一种减少运算次数的算法:P0(x)=a0,Pk+1(x)=xPk(x)+ak+1(k=0,1,2,…,n-1)。利用该算法,计算P3(x0)的值共需要6次运算,计算P10(x0)的值共需要( )次运算。
正确答案
65;20
当x=0.2时,用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1的值时,需要做乘法( )次,加法( )次。
正确答案
6;6
扫码查看完整答案与解析