1 / 17

一位美国的幼儿园老师为了教育孩子火海逃生,引导学生做了一个非 非常有趣的游戏── “ 火海逃生 ” 。老师将许多乒乓球放进瓶子,只露出

火海逃生. 一位美国的幼儿园老师为了教育孩子火海逃生,引导学生做了一个非 非常有趣的游戏── “ 火海逃生 ” 。老师将许多乒乓球放进瓶子,只露出 系着的棉线。花瓶代表大楼,细细的瓶颈是惟一的出口,七只乒乓球则 是楼里的居民,要求当大楼突然起火时,全体居民能在短时间里安全逃 离。七名学生兴奋地上场了,他们各执一根棉线,报警器一响,都以最 快的反应拉扯绳子,可一个 “ 人 ” 也没能脱离火海,原来,七只乒乓球都 卡在了瓶口。又开始了第二次实验?. 这几个学生面面相觑,只见其中一个小声跟同伴们商量了几句,这

Download Presentation

一位美国的幼儿园老师为了教育孩子火海逃生,引导学生做了一个非 非常有趣的游戏── “ 火海逃生 ” 。老师将许多乒乓球放进瓶子,只露出

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 火海逃生 一位美国的幼儿园老师为了教育孩子火海逃生,引导学生做了一个非 非常有趣的游戏──“火海逃生”。老师将许多乒乓球放进瓶子,只露出 系着的棉线。花瓶代表大楼,细细的瓶颈是惟一的出口,七只乒乓球则 是楼里的居民,要求当大楼突然起火时,全体居民能在短时间里安全逃 离。七名学生兴奋地上场了,他们各执一根棉线,报警器一响,都以最 快的反应拉扯绳子,可一个“人”也没能脱离火海,原来,七只乒乓球都 卡在了瓶口。又开始了第二次实验? 这几个学生面面相觑,只见其中一个小声跟同伴们商量了几句,这 回大家没有各顾各地拉绳子,而是由左到右依次地拉。果然,报警 器的尾音还没结束,七位“居民”已离开了出口,转移到了安全地带。 运筹帷幄,决胜千里

  2. 解:2 1 8 2 4 用公有质因数2除, 3 9 1 2 用公有质因数3除, 3 4 3和4互质不除了。 得:18和24最大公约数是:2×3=6 算法案例之求最大公约数 例、求18与24的最大公约数: 短除法 求以下几组正整数的最大公约数。 (注:若整数m和n满足n整除m,则(m,n)=n。用(m,n)来表示 m和n的最大公约数。) (1)(18,30) (2)(24,16) (3)(63,63) (4)(72,8) (5)(301,133 ) 6; 8; 63; 8; 7; 想一想,如何求8251与6105的最大公约数?

  3. 开始 输入:m,n m>n? N Y t=m,m=n,n=t i=m+1 i=i-1 m MOD i=0且n MOD i=0? N Y 输出:i 结束 穷举法 穷举法(也叫枚举法) 步骤: 从两个数中较小数开始 由大到小列举,直到找到公 约数立即中断列举,得到的 公约数便是最大公约数 。

  4. 辗转相除法 定理: 已知m,n,r为正整数,若m=nq+r(0≤r<n)(即r=m MOD n),则(m,n)=(n,r)。 分析:m=nq+r …… ① r=m-nq …… ② 例1、求8251和6105的最大公约数。 解: (8251,6105) =(6105,2146) 8251=6105×1+2146 6105=2146 ×2+1813 =(2146,1813) 2146=1813 ×1+333 =(1813,333) 1813=333 ×5+148 =(333,148) 333=148 ×2+37 =(148,37) =37 148=37 ×4

  5. 练习:用辗转相除法求下列两数的最大公约数:练习:用辗转相除法求下列两数的最大公约数: (1)(225,135) (2)(98,196) (3)(72,168) (4)(153,119) 98 45 17 24

  6. 8251和6105的最大公约数 解: 8251=6105×1+2146 6105=2146 ×2+1813 2146=1813 ×1+333 1813=333 ×5+148 333=148 ×2+37 148=37 ×4 (8251,6105) =(6105,2146) =(2146,1813) =(1813,333) =(333,148) =(148,37) =37 关系式m=np+r中m,n,r得取值变化情况 8251 6105 2146 1813 333 148 0 6105 2146 1813 333 148 37 2146 1813 333 148 37

  7. 思考:辗转相除直到何时结束?主要运用的是哪种算法结构?思考:辗转相除直到何时结束?主要运用的是哪种算法结构? 辗转相除法是一个反复执行直到余数等于0停止的步骤, 这实际上是一个循环结构 辗转相除法求两个数的最大公约数,其算法可以描述如下: ① 输入两个正整数m和n; ② 求余数r:计算m除以n,将所得余数存放到变量r中; ③更新被除数和余数:m=n,n=r。 ④判断余数r是否为0:若余数为0则输出结果,否则转 向第②步继续循环执行。 如此循环,直到得到结果。

  8. 开始 输入:m,n r=m MOD n m=n n=r N r=0? Y 输出:m 结束 程序:INPUT “m,n=”;m,nDO r=m MOD nm=nn=r LOOP UNTIL r=0PRINT mEND

  9. 更相减损术 同理:a,b,c为正整数,若a-b=c,则(a,b)=(b,c)。 “更相减损术”(也是求两个正整数的最大公约数的算法) 步骤: 第一步:任意给定两个正整数;判断他们是否都是偶数。 若是,则用2约简;若不是则执行第二步。 第二步:以较大的数减较小的数,接着把所得的差与较 小的数比较,并以大数减小数。继续这个操作,直到所 得的减数和差相等为止,则这个等数就是所求的最大公 约数。

  10. 例、用更相减损术求98与63的最大公约数 (自己按照步骤求解) 解:由于63不是偶数,把98和63以大数减小数,并辗转相减。 (98,63) =(63,35) 98-63=35    63-35=28 =(35,28) 35-28=7 =(28,7) 28-7=21 =(21,7) 21-7=14 =(14,7) = 7 =(7,7) 14-7=7 所以,98和63的最大公约数等于7。

  11. 练习:用更相减损术求下列两数的最大公约数:练习:用更相减损术求下列两数的最大公约数: (1)(225,135) (2)(98,196) (3)(72,168) (4)(153,119) 45 98 24 17

  12. 例用更相减损术求98与63的最大公约数 解:由于63不是偶数,把98和63以大数减小数, 并辗转相减               98-63=35               63-35=28               35-28=7               28-7=21 21-7=14       14-7=7所以,98和63的最大公约数等于7。 (98,63) =(63,35) =(35,28) =(28,7) =(21,7) =(14,7) =(7,7) =7 关系式a-b=c中a,b,c得取值变化情况

  13. 思考:更相减损直到何时结束?运用的是哪种算法结构?思考:更相减损直到何时结束?运用的是哪种算法结构? 更相减损是一个反复执行直到减数等于差时停止的步骤, 这实际也是一个循环结构

  14. 开始 输入:a,b i=0 i=i+1 Y a MOD 2=0且b MOD 2=0? a=a/2,b=b/2 N b>a? N Y t=a,a=b,b=t a=a-b N a=b? Y 输出: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 WEND 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

  15. 小 结 辗转相除法与更相减损术的区别: (1)都是求最大公约数的方法,计算上辗转相除法以除法 为主,更相减损术以减法为主,计算次数上辗转相除法计算 次数相对较少,特别当两个数字大小区别较大时计算次数的 区别较明显。 (2)从结果体现形式来看,辗转相除法体现结果是以相除 余数为0而得到,而更相减损术则以减数与差相等而得到的。

  16. 作业: P38 习题:1.3 第一题

  17. 再见

More Related