人教版必修三高中数学 1.3 算法案例课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
研探新知
辗转相除法与更相减损术的比较: (1)都是求最大公约数的方法,计算上 辗转相除法以除法为主,更相减损术以减法为 主;计算次数上辗转相除法计算次数相对较少, 特别当两个数字大小区别较大时计算次数的区 别较明显。 (2)从结果体现形式来看,辗转相除法 体现结果是以相除余数为0则得到,而更相减损 术则以减数与差相等而得到.
开始
输入m,n
n=r
m=n 求m除以n的余数r n>0? 否 输出m 结束
是
研探新知
《九章算术》——更相减损术
算理:可半者半之,不可半者,副置分母、子 之数,以少减多,更相减损,求其等也,以等 数约之。
第一步:任意给定两个正整数;判断他们是否都是 偶数。若是,则用2约简;若不是则执行第二步。 第二步:以较大的数减较小的数,接着把所得的差 与较小的数比较,并以大数减小数。继续这个操作, 直到所得的减数和差相等为止,则这个等数就是所 求的最大公约数。
•第一步,给定两个正数m,n •第二步,计算m除以n所得到余数r •第三步,m=n,n=r
• 第四步,若r=0,则m,n的最大公约数等于m; 否则,返回第二步
[问题4]:该算法的程序框图如何表示?
新课讲解
开始
输入m,n 求m除以n的余数r m=n n=r r=0? 是
否
输出m 结束
研探新知
问题5:如果用当型循环结构构造算法, 求两个正整数m,n的最大公约数的程序 框图如何表示?
∴18和90的最大公约 数是2×3×3=18.
[问题2]:求8251与6105的最大公约数?
新课讲解
辗转相除法(欧几里得算法)
观察用辗转相除法求8251和6105的最大公约数的过程 第一步 用两数中较大的数除以较小的数,求得商 和余数 8251=6105×1+2146
结论: 8251和6105的公约数就是6105和2146的 公约数,求8251和6105的最大公约数,只要求出 6105和2146的公约数就可以了。 第二步 对6105和2146重复第一步的做法 6105=2146×2+1813 同理6105和2146的最大公约数也是2146和1813 的最大公约数。
• 以下再求25与75的最大公约数: • 75=25×3 • ∴25和75的最大公约数是25. • 故 25 是 75 和 25 的最大公约数,也就是 175 、 100 、 75 的最大公约数.
1.3算法案例
复习引入 表示算法的三种方式:
算法步骤(自然语言)
程序框图(图形语言)
计算机程序(程序语言)
新课讲解
[问题1]:在小学,我们已经学过求最大公约数 的知识,你能求出18与90的最大公约数吗? 2 18 90 3 9 45 3 3 15 1 5 先用两个数公有的质因数 连续去除,一直除到所得 的商是互质数为止,然后 把所有的除数连乘起来.
新课讲解
完整wk.baidu.com过程
8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333
1813=333×5+148 333=148×2+37
148=37×4+0 显然37是148和37的最大公约数,也就是8251和6105 的最大公约数
研探新知
一、辗转相除法(欧几里得算法) 1、定义:
研探新知
2、更相减损术
(1)算理:所谓更相减损术,就是对于给 定的两个数,用较大的数减去较小的数,然 后将差和较小的数构成新的一对数,再用较 大的数减去较小的数,反复执行此步骤直到 差数和较小的数相等,此时相等的两数便为 原来两个数的最大公约数。
研探新知
例 用更相减损术求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。 练习:用更相减损术求两个正数84与72的最大 公约数。 (12)
课堂测试
3求三个数175、100、75的最大公约数. • 分析:求三个数的最大公约数时,可以先求出其中 两个数的最大公约数,用这个最大公约数再与第三 个数求最大公约数,所得结果就是这三个数的最大 公约数. • 解: 解法 1( 辗转相除法 ) :先求175与100的最大公 约数: • 175=100×1+75, • 100=75×1+25, • 75=25×3. • ∴175与100的最大公约数是25.
练习:用更相减损术求两个正整数m,n的最大公 约数,可以用什么逻辑结构来构造算法?其算法步骤 如何设计?
第一步,给定两个正整数m,n(m>n). 第二步,计算m-n所得的差k. 第三步,比较n与k的大小,其中大者用m表示, 小者用n表示. 第四步,若m=n,则m,n的最大公约数等于m; 否则,返回第二步. 讨论:该算法的程序框图如何表示?
课堂测试
2、分别用辗转相除法和更相减损术求168与93的最大公约 数. 辗转相除法:168=93×1+75, 93=75×1+18, 75=18×4+3, 18=3×6.
更相减损术:168-93=75, 75-18=57, 39-18=21, 18-3=15, 12-3=9, 6-3=3. 93-75=18, 57-18=39, 21-18=3, 15-3=12, 9-3=6,
所谓辗转相除法,就是对于给定的两个 数,用较大的数除以较小的数。若余数不为 零,则将除数变被除数,余数变除数,继续 上面的除法,直到大数被小数除尽,则这时 最后的除数就是原来两个数的最大公约数。
辗转相除法是一个反复执行直到余数等于0停止的算法
研探新知
[问题]你能把辗转相除法写成算法步骤吗?
研探新知 辗转相除法求最大公约数算法步骤:
开始 输入m,n m≠n? 是 k=m-n n>k? 是 m=n n=k 否
m=k
否
输出m 结束 讨论:该程 序框图对应的程 序如何表述?
课堂测试
• 1 : 用辗转相除法求 80 和 36 的最大公约数,并 用更相减损术检验所得结果. • 分析:将80作为大数, 36作为小数,执行辗转 相除法和更相减损术的步骤即可. • 解:用辗转相除法: • 80=36×2+8, • 36=8×4+4, • 8=4×2+0. • 故80和36的最大公约数是4.