高中数学必修三课件1.3算法案例
合集下载
高中数学 1.3 第1课时 辗转相除法与更相减损术、秦九韶算法课件 新人教A版必修3

回 第______步. 0
二
②程序框图如图所示.
③程序:
INPUT m,n
DO
r=m MOD n
m=n
n=r
LOOP UNTIL _______
PRINT _______ r=0
END
m
(2)更相减损术.
算法步骤:
第一步,任意给定两个正整数,判断它们是否都是 ________.若是,用______约简;若不是,执行第二步.
[答案] 用2约简
[解析] 由于294和84都是偶数,先用2约简.
3.设计程序框图,用秦九韶算法求多项式的值,所选用的结 构是( )
A.顺序结构
B.条件结构
C.循环结构
D.以上都有
[答案] D
4.(2013~2014·云南省景洪一中月考)用秦九韶算法计算多 项式f(x)=3x6+2x5+4x4+5x3+7x2+8x+1在x=0.5时的值, 需做乘法和加法的次数分别是________.
序如下:
S=0 i=1 WHILE S<=10^6
i=i+1 S=S+1/i^2 WEND PRINT i END
新知导学 1.辗转相除法与更相减损术 (1)辗转相除法. ①算法步骤: 第一步,给定两个正整数m,n. 第二步,计算m除以n所得的余数r. 第三步,m=n,n=r. 第四步,若r=______,则m,n的最大公约数等于m;否则返
求值比较先进的算法,其实质是转化为求n个________多项
式的值,共进行________次乘法运算和____一__次_次加法运 算.其过程是:
n
nHale Waihona Puke 改写多项式为: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=… =(…((anx+an-1)x+an-2)x+…+a1)x+a0. 设v1=__________, v2=v1x+ana-nx2+,an-1 v3=v2x+an-3, …,
二
②程序框图如图所示.
③程序:
INPUT m,n
DO
r=m MOD n
m=n
n=r
LOOP UNTIL _______
PRINT _______ r=0
END
m
(2)更相减损术.
算法步骤:
第一步,任意给定两个正整数,判断它们是否都是 ________.若是,用______约简;若不是,执行第二步.
[答案] 用2约简
[解析] 由于294和84都是偶数,先用2约简.
3.设计程序框图,用秦九韶算法求多项式的值,所选用的结 构是( )
A.顺序结构
B.条件结构
C.循环结构
D.以上都有
[答案] D
4.(2013~2014·云南省景洪一中月考)用秦九韶算法计算多 项式f(x)=3x6+2x5+4x4+5x3+7x2+8x+1在x=0.5时的值, 需做乘法和加法的次数分别是________.
序如下:
S=0 i=1 WHILE S<=10^6
i=i+1 S=S+1/i^2 WEND PRINT i END
新知导学 1.辗转相除法与更相减损术 (1)辗转相除法. ①算法步骤: 第一步,给定两个正整数m,n. 第二步,计算m除以n所得的余数r. 第三步,m=n,n=r. 第四步,若r=______,则m,n的最大公约数等于m;否则返
求值比较先进的算法,其实质是转化为求n个________多项
式的值,共进行________次乘法运算和____一__次_次加法运 算.其过程是:
n
nHale Waihona Puke 改写多项式为: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=… =(…((anx+an-1)x+an-2)x+…+a1)x+a0. 设v1=__________, v2=v1x+ana-nx2+,an-1 v3=v2x+an-3, …,
高中数学第一章算法初步132进位制课件新人教A版必修3

[典例] 若 10b1(2)=a02(3),求数字 a,b 的值以及与此两数 的等值十进制数.
[ 解] 把 10b1(2)化为十进制数:10b1(2)=1×23+0×22+ b×21+1×20=2b+9,把 a02(3)化为十进制数:a02(3)=a×32+ 0×31+2×30=9a+2,所以 2b+9=9a+2.由于在二进制中,b 的值只能为 0 或 1,当 b=0 时,a=79,舍去;当 b=1 时,a= 1.所以 a=b=1,与此两数等值的十进制数为 11.
1,…,a1,a0∈N,0<an<k,0≤an-1,…,a1,a0<k). (2)十进制化为 k 进制的方法—— 除 k 取余法.
[答一答] 1.进位制是如何表示数字的? 提示:若一个数为十进制数,则其基数可以省略不写,若是 其他进位制的数,在没有特别说明的前提下,其基数必须写出, 常在数的右下角标明基数.
∴301(5)=136(7).
——本课须掌握的三大问题 1.要把 k 进制数化为十进制数,首先把 k 进制数表示成不 同位上数字与 k 的幂的乘积之和,其次按照十进制的运算规则计 算和. 2.十进制数化为 k 进制数(除 k 取余法)的步骤:
3.把一个非十进制数化为另一个非十进制数时,要先把这 个数化为十进制数,再利用“除 k 取余法”化为另一个非十进制 数.
休息时间到啦
同学们,下课休息十分钟。现在是休息时间 休息一下眼睛,
看看远处,要保护好眼睛哦~站起来动一动 对身体不好哦~
(2)312(4)化为十进制数后的个位数字是 4 . 解析:312(4)=3×42+1×41+2×40=54,个位数字是 4.
类型二 十进制数化 k 进制数
[例 2] (1)试把十进制数 136 转化为二进制数; (2)试把十进制数 1 234 转化为七进制数. [解] (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,
人教版高中数学必修三第一章-算法初步第一节《算法的概念》教学课件3(共21张PPT)

趣味益智游戏
一人带着一只狼、一只羊和一箱蔬菜要过河,但只 有一条小船.乘船时,每次只能带狼、羊和蔬菜中的一 种.当有人在场时,狼、羊、蔬菜都相安无事.一旦人 不在,狼会吃羊,羊会吃菜.请设计一个方案,安全地将狼、 羊和蔬菜带过河.
过河游戏
如何发电子邮件?
假如你的朋友不会发电子邮件,你能教会他么? 发邮件的方法很多,下面就是其中一种的操作步骤:
第四步, 用5除35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数.
变式: “判断53是否质数”的算法如下:
第1步,用2除53得余数为1,余数不为0,所以2不能整除53;
第2步,用3除53得余数为2,余数不为0,所以3不能整除53;
……
第52步,用52除53得余数为1,余数不为0,故52不能整除53;
第二步, 给定区间[a,b],满足f(a) ·f(b)<0.
第三步,
取中间点
m
a
2
b.
第四步, 若f(a) ·f(m) < 0,则含零点的区间为
[a,m];否则,含零点的区间b].
第五步,判断f(m)是否等于0或者[a,b]的长 度是否小于d,若是,则m是方程的近似解;否 则,返回第三步.
|a-b| 1
0.5 0.25 0.125 0.062 5 0.031 25 0.015 625 0.007 812 5 0.003 906 25
y=x2-2
1 1.25 1.5
1.375
2
于是,开区间(1.4140625,1.41796875)中 的实数都是当精确度为0.005时的原方程的近 似解.
判断“整数n(n>2)是否是质数”的算法 自然语言描述
第一步 给定大于2的整数n. 第二步 令i=2. 第三步 用i除n,得到余数r. 第四步 判断“r=0”是否成立.若是,则n不是质
一人带着一只狼、一只羊和一箱蔬菜要过河,但只 有一条小船.乘船时,每次只能带狼、羊和蔬菜中的一 种.当有人在场时,狼、羊、蔬菜都相安无事.一旦人 不在,狼会吃羊,羊会吃菜.请设计一个方案,安全地将狼、 羊和蔬菜带过河.
过河游戏
如何发电子邮件?
假如你的朋友不会发电子邮件,你能教会他么? 发邮件的方法很多,下面就是其中一种的操作步骤:
第四步, 用5除35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数.
变式: “判断53是否质数”的算法如下:
第1步,用2除53得余数为1,余数不为0,所以2不能整除53;
第2步,用3除53得余数为2,余数不为0,所以3不能整除53;
……
第52步,用52除53得余数为1,余数不为0,故52不能整除53;
第二步, 给定区间[a,b],满足f(a) ·f(b)<0.
第三步,
取中间点
m
a
2
b.
第四步, 若f(a) ·f(m) < 0,则含零点的区间为
[a,m];否则,含零点的区间b].
第五步,判断f(m)是否等于0或者[a,b]的长 度是否小于d,若是,则m是方程的近似解;否 则,返回第三步.
|a-b| 1
0.5 0.25 0.125 0.062 5 0.031 25 0.015 625 0.007 812 5 0.003 906 25
y=x2-2
1 1.25 1.5
1.375
2
于是,开区间(1.4140625,1.41796875)中 的实数都是当精确度为0.005时的原方程的近 似解.
判断“整数n(n>2)是否是质数”的算法 自然语言描述
第一步 给定大于2的整数n. 第二步 令i=2. 第三步 用i除n,得到余数r. 第四步 判断“r=0”是否成立.若是,则n不是质
【成才之路】高中数学 算法案例第1课时辗转相除法与更相减损术学案课件 新人教A必修3

2022/1/152022/1/15
人 教 A 版 数 学
(2)辗转相除法的算法分析: 由以上辗转相除法的原理可以发现,辗转相除法的基 本步骤是用较大的数除以较小的数,考虑到算法中的赋值 语句可以对同一变量多次赋值,我们可以把较大的数用变 量m表示,把较小的数用变量n表示,这样式子m=n·q+ r(0≤r<n)就是一个反复执行的步骤,因此可以用循环结构实 现算法.如图.
用更相减损术: 80-36=44, 44-36=8, 36-8=28, 28-8=20, 20-8=12, 12-8=4, 8-4=4. ∴80和36的最大公约数是4.
[点评] (1)辗转相除法是当大数被小数除尽时,结束 除法运算,较小的数就是最大公约数;更相减损术是当大 数减去小数的差等于小数时停止减法运算,较小的数就是 最大公约数.
二、解答题 5.写出从键盘任意输入两个正整数a,b,输出这两个 数的最小公倍数的算法,画出程序框图,写出算法语句.
[解析] 从键盘输入两数 a,b 后,先求两数的最大公 约数 k,再计算两数的最小公倍数 p=ak·b,输出 p 即可.
程序框图如右图. 程序为: INPUT “正整数 a,b=”;a,b
3.辗转相除法与更相减损术有着相同的算法依据,但 要注意运算过程的差别,辗转相除法的上一次运算的除数 和余数分别作为下一次运算的被除数和除数,其结果直至 余数为零得出.更相减损术在上一次运算结束后,比较减 数和差的大小,将大的作为下一次运算的被减数,小的作 为减数,直至出现相等数时得到结果.
由此可见,二者算法是相似的.主要区别在于,辗转 相除法进行的是除法运算,即辗转相除,更相减损术进行 的是减法运算,即辗转相减,但其实质都是一个不断的递 归过程.另外两者在算法设计上有一个重要的区别点,辗 转相除法,下一次进行相除时,由上一次的除数和余数直 接相除即可.而更相减损术下一次相减前必须有一个判断 大小的过程,以区别谁做被减数.这些内容都是应特别注 意的关键环节.
人 教 A 版 数 学
(2)辗转相除法的算法分析: 由以上辗转相除法的原理可以发现,辗转相除法的基 本步骤是用较大的数除以较小的数,考虑到算法中的赋值 语句可以对同一变量多次赋值,我们可以把较大的数用变 量m表示,把较小的数用变量n表示,这样式子m=n·q+ r(0≤r<n)就是一个反复执行的步骤,因此可以用循环结构实 现算法.如图.
用更相减损术: 80-36=44, 44-36=8, 36-8=28, 28-8=20, 20-8=12, 12-8=4, 8-4=4. ∴80和36的最大公约数是4.
[点评] (1)辗转相除法是当大数被小数除尽时,结束 除法运算,较小的数就是最大公约数;更相减损术是当大 数减去小数的差等于小数时停止减法运算,较小的数就是 最大公约数.
二、解答题 5.写出从键盘任意输入两个正整数a,b,输出这两个 数的最小公倍数的算法,画出程序框图,写出算法语句.
[解析] 从键盘输入两数 a,b 后,先求两数的最大公 约数 k,再计算两数的最小公倍数 p=ak·b,输出 p 即可.
程序框图如右图. 程序为: INPUT “正整数 a,b=”;a,b
3.辗转相除法与更相减损术有着相同的算法依据,但 要注意运算过程的差别,辗转相除法的上一次运算的除数 和余数分别作为下一次运算的被除数和除数,其结果直至 余数为零得出.更相减损术在上一次运算结束后,比较减 数和差的大小,将大的作为下一次运算的被减数,小的作 为减数,直至出现相等数时得到结果.
由此可见,二者算法是相似的.主要区别在于,辗转 相除法进行的是除法运算,即辗转相除,更相减损术进行 的是减法运算,即辗转相减,但其实质都是一个不断的递 归过程.另外两者在算法设计上有一个重要的区别点,辗 转相除法,下一次进行相除时,由上一次的除数和余数直 接相除即可.而更相减损术下一次相减前必须有一个判断 大小的过程,以区别谁做被减数.这些内容都是应特别注 意的关键环节.
(人教a版)必修三同步课件:1.3算法案例

故加法次数要减少一次,为5-1=4.故选D.
要点三 进位制
例3 (1)把二进制数1110011(2)化为十进制数.
(2)将8进制数314706(8)化为十进制数.
解
(1)1110011(2)=1×26+1×25+1×24+0×23+0×22+
1×21+1=115. (2)314706(8)=3×85+1×84+4×83+7×82+0×81+6×80 =104902.所以,化为十进制数是104902.
所以80与36的最大公约数为4.
要点二
例2
秦九韶算法
已知一个5次多项式为f(x)=4x5+2x4+3.5x3-2.6x2+1.7x-0.8,用秦九韶算法求这个
多项式当x=5时的值.
解
将f(x)改写为f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-
0.8, 由内向外依次计算一次多项式当x=5时的值: v0=4;
2.注意:当多项ห้องสมุดไป่ตู้中n次项不存在时,可将第n次项看作0· xn.
跟踪演练2
用秦九韶算法计算f(x)=6x5-4x4+x3-2x2-9x,需要加法(或减法)与乘法运算 ( )
的次数分别为
A.5,4 B.5,5 C.4,4 D.4,5 答案 D
解析
n次多项式需进行n次乘法;若各项均不为零,则需进
行n次加法,缺一项就减少一次加法运算.f(x)中无常数项,
v2x+an-3
vn-1x+a0 n个一次多项式
4.进位制
运算方便 进位制是人们为了_____和_________ k进一”就是k进制,k进 计数 而约定的记数系统,“满
制的基数是k.把十进制转化为k进制数时,通常用除k取余法.
高中数学 132 进位制课件 新人教A版必修3

最大公约数是( )
A.57
B.3
C.19
D.34
[答案] C
第十一页,共69页。
4.用秦九韶算法求多项式f(x)=2+0.35x+1.8x2-3.66x3 +6x4-5.2x5+x6在x=-1.3时的值时,令v0=a6;v1=v0x+ a5;…;v6=v5x+a0时,v3的值为( )
A.-9.8205 B.14.25 C.-22.445 D.30.9785 [答案] C
24005(7)=2×74+4×73+0×72+0×71+5=2401, 故七进制数24005(7)化成十进制数为2401.
第三十六页,共69页。
把十进制数化为k进制数 学法指导 十进制数化为k进制数(除k取余法)的步骤:
第三十七页,共69页。
(1)把十进制数89化为二进制数. (2)将十进制数21化为五进制数.
[答案] 111111(2)
第四十九页,共69页。
[解析] 将题中四个数化为十进制数. 85(9)=8×91+6×90=72+6=78; 211(6)=2×62+1×6+1=72+7=79; 1000(4)=1×43=64; 111111(2)=25+24+23+22+21+20=63.
第五十页,共69页。
[破疑点] 教材中的算法案例进一步体现了编写程序的 基本过程:
①算法分析,将解决实际问题的过程以步骤的形式用文 字语言表述出来.
②画程序框图,把算法分析用程序框和流程线的形式表 达出来.
③编写程序,将程序框图转化为算法语句即程序.
第二十四页,共69页。
以下各数有可能是五进制数的是( ) A.15 B.106 C.731 D.21340 [答案] D
第七页,共69页。
2020版新素养同步人教A版高中数学必修三课件:1.3算法案例

“改写多项式,由内向外算,步步执行完”.其中“改写多 项式”是指将n次多项式改写为若干个一次多项式的复合形式; “由内向外算”是指先由v0计算最内层的括号内的值v1,再向外层 扩展计算v2,…;“步步执行完”是指要计算到vn.如果多项式有 空项,一定要补上系数为0的相应项.
第二十一页,编辑于星期日:一点 三十二分。
2.用“辗转相除法”求得459和357的最大公约数是( )
A.3
B.9
C.17
D.51
解析:利用辗转相除法,得
459=357×1+102, 357=102×3+51, 102=51×2+0, 所以459和357的最大公约数是51. 答案:D
第二十二页,编辑于星期日:一点 三十二分。
第二十五页,编辑于星期日:一点 三十二分。
【解析】 解法一 (辗转相除法): 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, 所以324与243的最大公约数为81. 135-81=54,81-54=27,54-27=27, 所以81与135的最大公约数为27. 所以三个数324,243,135的最大公约数为27.
知识点一 辗转相除法 1.辗转相除的算法思想
(1)辗转相除法是用于求两个正整数的__最__大__公__约__数__的一种算
法,这种算法是由欧几里得在公元前300年左右首先提出的,因而又
叫欧__几__里__得__算法. (2)所谓辗转相除法,就是对于给定的两个数,用较_大___的数除
第二十一页,编辑于星期日:一点 三十二分。
2.用“辗转相除法”求得459和357的最大公约数是( )
A.3
B.9
C.17
D.51
解析:利用辗转相除法,得
459=357×1+102, 357=102×3+51, 102=51×2+0, 所以459和357的最大公约数是51. 答案:D
第二十二页,编辑于星期日:一点 三十二分。
第二十五页,编辑于星期日:一点 三十二分。
【解析】 解法一 (辗转相除法): 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, 所以324与243的最大公约数为81. 135-81=54,81-54=27,54-27=27, 所以81与135的最大公约数为27. 所以三个数324,243,135的最大公约数为27.
知识点一 辗转相除法 1.辗转相除的算法思想
(1)辗转相除法是用于求两个正整数的__最__大__公__约__数__的一种算
法,这种算法是由欧几里得在公元前300年左右首先提出的,因而又
叫欧__几__里__得__算法. (2)所谓辗转相除法,就是对于给定的两个数,用较_大___的数除
人教A版高中数学必修三课件1.3.3算法案例(三)——进位制

又 a {1, 2}, b {0,1}
故a=1,b=1.
4、阅读下面两个程序,并填空:
(2) 程序(2)中若输入
(1)程序(1)中若输入 a 78 , k 9 ,
n 2,则输出的 b _7___1__ ;
a 78 , k 9 ,
则输出的 b 8___6_ .
INPUT“a,k,n=”;a,k,n b=0 i=1 t=aMOD10 DO b=b+t*k^(i-1) a=a\10 t=aMOD10 i=i+1
【课内探究】
展示:
例1、(1)比较110011(2)、324(5)、123(4)、55(6) 四个数的大小;
(2)已知k进制的数132(k)与十进制的数30相等,求 k的值.
例2、把89化为三进制数.
例1、(1)比较110011(2)、324(5)、123(4)、55(6) 四个数的大小; 方法:化为十进制再比较大小
(2)已知k进制的数132(k)与十进制的数30相等,
求k的值. 拓展:若已知132(k) =30(7)呢?
解: 132(k) =30
1 k2 3 k1 2=30
即k2 3k 28=0
k=4或k= 7(舍去) 故,k的值为4.
除3取余法 你能看出它的规律吗? 如
例2、把89化为三进制数
第第三四atiL步==步O=算第iaOa+,,bM判\法一P1=1OUb断步步0DN+i1aT骤,>输0iI·nLk如入是ii->1下a否,ni,=k:成i和+1立n. 的.若值是. ,则
b=b+t·ki-1
执行P第RI五NT步b;否则,返回第三步. EN第D二步,将b的值初始化为0,i的值初始化为1. i=i+1
故a=1,b=1.
4、阅读下面两个程序,并填空:
(2) 程序(2)中若输入
(1)程序(1)中若输入 a 78 , k 9 ,
n 2,则输出的 b _7___1__ ;
a 78 , k 9 ,
则输出的 b 8___6_ .
INPUT“a,k,n=”;a,k,n b=0 i=1 t=aMOD10 DO b=b+t*k^(i-1) a=a\10 t=aMOD10 i=i+1
【课内探究】
展示:
例1、(1)比较110011(2)、324(5)、123(4)、55(6) 四个数的大小;
(2)已知k进制的数132(k)与十进制的数30相等,求 k的值.
例2、把89化为三进制数.
例1、(1)比较110011(2)、324(5)、123(4)、55(6) 四个数的大小; 方法:化为十进制再比较大小
(2)已知k进制的数132(k)与十进制的数30相等,
求k的值. 拓展:若已知132(k) =30(7)呢?
解: 132(k) =30
1 k2 3 k1 2=30
即k2 3k 28=0
k=4或k= 7(舍去) 故,k的值为4.
除3取余法 你能看出它的规律吗? 如
例2、把89化为三进制数
第第三四atiL步==步O=算第iaOa+,,bM判\法一P1=1OUb断步步0DN+i1aT骤,>输0iI·nLk如入是ii->1下a否,ni,=k:成i和+1立n. 的.若值是. ,则
b=b+t·ki-1
执行P第RI五NT步b;否则,返回第三步. EN第D二步,将b的值初始化为0,i的值初始化为1. i=i+1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n 次乘法运算,n 次加法运算.
例1 已知一个5次多项式为
5 4 3
f ( x ) 4 x 2 x 3.5 x 2.6 x 1.7 x 0.8
2
用秦九韶算法求f(5)的值. 解:根据秦九韶算法,把多项式改写成 f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-0.8. v0= 4; v1= 4×5+2= 22; v2= 22×5+3.5=113.5; v3= 113.5×5-2.6= 564.9; v4= 564.9×5+1.7= 2826.2; v5= 2826.2×5-0.8= 14130.2. 所以f(5)=14130.2.
[问题1]我们常见的数字都是十进制的, 但是并不是生活中的每一种数字都是十进制的. 比如时间和角度的单位用六十进位制,电子计 算机用的是二进制.那么什么是进位制?不同的 进位制之间又有什么联系呢? 进位制是人们为了计数和运算的方便而 约定的一种记数系统,约定满二进一,就是二 进制;满十进一,就是十进制;满十六进一,就 是十六进制;等等. “满几进一”,就是几进制,几进制的基数就是几.
知识探究(一):秦九韶算法的基本思想
思考1:对于多项式f(x)=x5+x4+x3+x2+x+1, 怎么样求f(5)的值呢?
思考2:利用后一种算法求多项式 f(x)=anxn+an-1xn-1+„+a1x+a0的值,这 个多项式应写成哪种形式? f(x)=anxn+an-1xn-1+„+a1x+a0 =(anxn-1+an-1xn-2+„+a2x+a1)x+a0 =((anxn-2+an-1xn-3+„+a2)x+a1)x+a0 = „ =(„((anx+an-1)x+an-2)x+„+a1)x+a0
+…+a1×k1+a0×k0 . 注意这是一 个n+1位数.
例1:把二进制数110011(2)化为十进制数. 分析:先把二进制数写成不同位上数字与2 的幂的乘积之和的形式,再按照十进制数的运算 规则计算出结果.
解:110011(2)
=1×25+1×24+0×23+0×22+1×21+1×20
=1×32+1×16+1×2+1=51.
7
所以,98和63的最大公约数等于7。
开始 输入:a,b i=0 是
a MOD 2=0且b MOD 2=0?
否 b>a? 是 否
t=a,a=b,b=t
a=a-b 否
a=b? 是 输出:a×2i
结束
程序: INPUT “a,b”;a,b i=0 WHILE a MOD 2=0 AND b MOD 2=0 a=a/2 b=b/2 i=i+1 i=i+1 WEND a=a/2,b=b/2 DO IF b>a THEN t=a a=b b=t END IF a=a-b LOOP UNTIL a=b PRINT a*2^i END
案例2、秦九韶算法
秦九韶(约1202年-1261年)南 宋官员、数学家,与李冶、杨辉、 朱世杰并称宋元数学四大家。主要 成就:1247年完成了数学名著《数 书九章》,其中的大衍求一术、三 斜求积术和秦九韶算法是具有世界 意义的重要贡献。秦九韶算法就是 中国古代数学的一枝奇葩。直到今 天,这种算法仍是多项式求值比较 先进的算法 。 美国著名科学史家萨顿说过,秦九 韶是“他那个民族,他那个时代, 并且确实也是所有时代最伟大的数 学家之一”。
10221(3)=1×34+0×33+2×32+2×31+1×30
=81+18+6+1=106. 第二步:再把十进制数化为二进制数: 106=1101010(2). ∴10221(3)=106= 1101010(2).
8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333
解:
225=135×1+90 135=90×1+45
1813=333×5+148 333=148×2+37
148=37×4+0 显然37是148和37的最大公约 数,也就是8251和6105的最 大公约数
4 3 2
∴f(4)=709.
程序?
开始
输入n,an,x的值
v=an i=n-1
i=i-1 v=vx+ai
i≥0? 否 输出v 结束 输入ai
是
INPUT “n=”;n INPUT “an=”;a INPUT “x=”;x v=a i=n-1 WHILE i>=0 PRINT “i=”;i INPUT “ai=”;a v=v*x+a i=i-1 WEND PRINT v END
可使用数字符号的个数称为基数.基数 都是大于1的整数.
一般地,若k是一个大于1的整数,那么以k为 基数的k进制数可以表示为一串数字连写在一起 的形式 anan-1…a1a0(k)
k进制的数也可以表示成不同位上数字与 基数k的幂的乘积之和的形式,即
anan-1…a1a0(k)=an×kn+an-1×kn-1
例、用更相减损术求98与63的最大公约数
解:由于63不是偶数,把98和63以大数减小数,并辗转相减。 (98,63) =(63,35) 98-63=35
63-35=28 =(35,28)
35-28=7
28-7=21 21-7=14 14-7=7
=(28,7)
=(21,7) =(14,7) =(7,7) =
k进制数转化为十进制数的方法
先把k进制的数表示成不同位上数字 与基数k的幂的乘积之和的形式,即 anan-1…a1a0(k) =an×kn+an-1×kn-1+…+a1×k1+a0×k0 . 再按照十进制数的运算规则计算出结果.
301 例:10231(4)=________
235(7)
124 =________
案例1、
例、求18与24的最大公约数:
解:2 1 8 2 4 用公有质因数2除, 3 9 12 用公有质因数3除, 3 4 3和4互质不除了。 得:18和24最大公约数是:2×3=6
短除法
想一想,如何求8251与6105的最大公约数?
辗转相除法(欧几里得算法) 例2 用辗转相除法求225和135的最大公约数
90=45×2 显然45是90和45的最大公约数,也就是 225和135的最大公约数 思考1:从上面的两个例子可以看出计 算的规律是什么?
S1:用大数除以小数
S2:除数变成被除数,余数变成除数 S3:重复S1,直到余数为0
辗转相除除法的程序框图与程序 开始 INPUT m,n DO r=mMODn m=n n=r LOOP UNTIL r=0 PRINT m END
这种方法也可以推广为把 十进制数化为k进制数的 算法,称为除k取余法.
例3:把89化为五进制的数. 解:以5作为除数,相应的除法算式为: 余数 5 89 5 17 4 5 3 2 0 3 ∴ 89=324(5).
[问题4]你会把三进制数10221(3)化为二进制数吗?
解:第一步:先把三进制数化为十进制数:
输入m,n
r=mMODn
m=n
n=r 否
r=0? 是 输出m
结束
《九章算术》——更相减损术
算理:可半者半之,不可半者,副置分母、子之数,以少减多,更相减 损,求其等也,以等数约之。
第一步:任意给定两个正整数;判断他们是否都是偶数。若是,则用2 约简;若不是则执行第二步。
第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并 以大数减小数。继续这个操作,直到所得的减数和差相等为止,则这个 等数或这个等数与约简的数的乘积就是所求的最大公约数。
f ( x ) 3 x 2 x 9 x 11x 1 ,求f(4)的值. 解:根据秦九韶算法,把多项式改写成 f(x)=(((3x+2)x-9)x-11)x+1 v 0= 3 ; v1= 3×4+2= 14; v2= 14×4-9= 47; v3= 47×4-11= 177; v4= 177×4+1= 709;
十进制数转化为k进制数的方法
例2:把89化为二进制的数.
例2:把89化为二进制的数. 余数 1 0 0 1 1 0 1
解: 我们可以用下面的除法算式表示除2取余法:
2 89 2 44 2 22 2 11 2 5 2 2 21 0
把算式中各步所得的余数 从下到上排列,得到 89=1011001(2).