- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高二年级数学,算法(教师版)
算法
兴趣导入(Topic-in):
有个小孩到楼下的小店买饮料。店主给他一瓶,然后小孩说没钱。
店主生气地威胁说:“没钱找你妈妈去!”
小孩被吓得瓶盖都掉地上了。
捡起来一看:再来一瓶!于是把瓶盖给了店主,高高兴兴地走了……
学前测试(Testing):
1.用辗转相除法求294和84的最大公约数时,需要做除法的次数是( )
A.1 B.2 C.3 D.4
[答案] B
[解析] ∵294=84×3+42,84=42×2,∴选B.
2.用更相减损术,求105与30的最大公约数时,需要做减法的次数是( )
A.2 B.3 C.4 D.5
[答案] C
[解析] 105-30=75,75-30=45,45-30=15,30-15=15.
3.930与868的最大公约数是________.
[答案] 62
[解析] ∵930=868×1+62
868=62×14
∴930与868的最大公约数为62.
4、 把十进制数53转化为二进制数.
解:53=1×25+1×24+0×23+1×22+0×21+1×20
=110101(2)
5、利用辗转相除法求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
知识讲解(Teaching):
1.辗转相除法
例1 求两个正数a=204和b=85的最大公约数。
分析:204与85两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数
解:204=85×2+34
显然204的最大公约数也必是85的约数,同样204与85的公约数也必是34的约数,所以204与85的最大公约数也是85与34的最大公约数。
85=34×2+17
34=117×2+0
则17为204与85的最大公约数。
以上我们求最大公约数的方法就是辗转相除法。也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的。利用辗转相除法求最大公约数的步骤如下:
第一步:用较大的数m除以较小的数n得到一个商q0和一个余数r0;
第二步:若r0=0,则n为m,n的最大公约数;若r0≠0,则用除数n除以余数r0得到一个商q1和一个余数r1;
第三步:若r1=0,则r1为m,n的最大公约数;若r1≠0,则用除数r0除以余数r1得到一个商q2和一个余数r2;
……
依次计算直至rn=0,此时所得到的rn-1即为所求的最大公约数。
2.更相减损术
我国早期也有解决求最大公约数问题的算法,就是更相减损术。
更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母分子之数,以少减多,更相减损,求其等也,以等数约之。
翻译出来为:
第一步:任意给出两个正数;判断它们是否都是偶数。若是,用2约简;若不是,执行第二步。
第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。
例2 用更相减损术求91与49的最大公约数.
解:由于49不是偶数,把91和49以大数减小数,并辗转相减,
即:91-48=42 49-42=7 42-7=35 35-7=28 28-7=21 21-7=14
14-7=7
所以,91与49的最大公约数是7。
3.秦九韶算法
材料:求多项式f(x)=x5+x4+x3+x2+x+1当x=5时,有两种方法.第一种方法是把5代入多项式f(x),计算各项的值,然后把它们加起来.这时,我们一共做了1+2+3+4=10次乘法运算,5次加法运算.第二种做法是我们先计算x2的值,然后再一次计算x2x,(x2x)x,((x2x)x)x的值,这样,我们只计算了四次乘法运算,五次加法运算.
第二种做法与第一种做法相比,乘法的运算减少了,因而能提高运算效率.对于计算机来说,做一次乘法运算所用的时间,比做一次加法运算所用的时间要多得多,,计算机能更快的得到结果.
4.进位制
对于任何一个数,我们可以用不同的进位制来表示。比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的。
表示各种进位制数一般在数字右下脚加注来表示,如111001(2)表示二进制数,34(5)表示5进制数.
电子计算机一般都使用二进制,下面我们来进行二进制与十进制之间的转化
例1 把二进制数110011(2)化为十进制数.
解:110011
文档评论(0)