搜索
    上传资料 赚现金
    知识讲解_算法案例_提高练习题
    立即下载
    加入资料篮
    知识讲解_算法案例_提高练习题01
    知识讲解_算法案例_提高练习题02
    知识讲解_算法案例_提高练习题03
    还剩6页未读, 继续阅读
    下载需要10学贝
    使用下载券免费下载
    加入资料篮
    立即下载

    知识讲解_算法案例_提高练习题

    展开
    这是一份知识讲解_算法案例_提高练习题,共9页。

    算法案例

    【学习目标】

    1.理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析;

    2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序;

    3.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质;

    4.了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换.

    【要点梳理】

    要点一:辗转相除法

    也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的.利用辗转相除法求最大公约数的步骤如下:

    第一步:用较大的数m除以较小的数n得到一个商q0和一个余数r0

    第二步:若r0=0,则n为m,n的最大公约数;若r00,则用除数n除以余数r0得到一个商q1和一个余数r1

    第三步:若r1=0,则r0为m,n的最大公约数;若r10,则用除数r0除以余数r1得到一个商q2和一个余数r2

    ……

    依次计算直至rn=0,此时所得到的rn-1即为所求的最大公约数.

    用辗转相除法求最大公约数的程序框图为:

    程序:

    INPUT m=;m

    INPUT n=;n

    IF  m<n THEN 

    x=m

    m=n

     n=x

    END IF

    r=m MOD n

    WHILE  r<>0

    r=m MOD n

     m=n

    n=r

    WEND

    PRINT  n

    END

    要点诠释:

    辗转相除法的基本步骤是用较大的数除以较小的数,考虑到算法中的赋值语句可以对同一变量多次赋值,我们可以把较大的数用变量m表示,把较小的数用变量n表示,这样式子就是一个反复执行的步骤,因此可以用循环结构实现算法.

    要点二:更相减损术

    我国早期也有解决求最大公约数问题的算法,就是更相减损术.

    更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.

    翻译出来为:

    第一步:任意给出两个正整数;判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.

    第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.

    理论依据:

    ,得有相同的公约数

    更相减损术一般算法:

    第一步,输入两个正整数

    第二步,如果,则执行,否则转到

    第三步,将的值赋予

    第四步,若,则把赋予,把赋予,否则把赋予,重新执行

    第五步,输出最大公约数.

    程序:

    INPUT a=,a

    INPUT b=,b

    WHILE  a<>b

      IF  a>=b

    a=a-b;

    ELSE

      b=b-a

    WEND

    END

    PRINT  b

    或者

    INPUT 请输入两个不相等的正整数;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

    c=ab

    a=b

    b=c

    LOOP UNTIL a=b

    PRINT a^i

    END

    要点诠释:

    用辗转相除法步骤较少,而更相减损术虽然有些步骤较长,但运算简单.

    要点三:秦九韶计算多项式的方法

    ,则有,其中.这样,我们便可由依次求出

    要点诠释:

    显然,用秦九韶算法求n次多项式的值时只需要做n次乘法和n次加法运算

    要点四:进位制

    进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值.可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制.现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数.

    对于任何一个数,我们可以用不同的进位制来表示.比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的.

    表示各种进位制数一般在数字右下角加注来表示,如111001(2)表示二进制数,34(5)表示5进制数.

    1.k进制转换为十进制的方法:

    ,把k进制数a转化为十进制数b的算法程序为:

    INPUT a,k,n=;a,k,n

    i=1

    b=0

    WHILE i<=n

     t=GET a[i]

     b=b+t*k^(i-1)

     i=i+1

    WEND

    PRINT b

    END

    2.十进制转化为k进制数b的步骤为:

    第一步,将给定的十进制整数除以基数k,余数便是等值的k进制的最低位;

    第二步,将上一步的商再除以基数k,余数便是等值的k进制数的次低位;

    第三步,重复第二步,直到最后所得的商等于0为止,各次所得的余数,便是k进制各位的数,最后一次余数是最高位,即除k取余法.

    要点诠释:

    1、在k进制中,具有k个数字符号.如二进制有0,1两个数字.

    2、在k进制中,由低位向高位是按逢k进一的规则进行计数.

    3、非k进制数之间的转化一般应先转化成十进制,再将这个十进制数转化为另一种进制的数,有的也可以相互转化.

    【典型例题】

    类型一:辗转相除法与更相减损术

    1.分别用辗转相除法和更相减损术求37890的最大公约数.

    【答案】18

       【解析】  用辗转相除法:

        378=90×4+1890=18×5

        37890的最大公约数是18

        用更相减损术:

        37890都是偶数,

        2约分后得18945

        18945=14414445=999945=545445=9459=36369=27279=18189=9

        37890的最大公约数为2×9=18

    【总结升华】比较辗转相除法与更相减损术的区别

    (1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显;

    (2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到.

    由该题可以看出,辗转相除法得最大公约数的步骤较少.

    对比两种方法控制好算法的结束,辗转相除法是到达余数为0,更相减损术是到达减数和差相等.

    举一反三:

        【变式1】(1)用更相减损术求两个正数8472的最大公约数.

        2)利用辗转相除法求38696497的最大公约数与最小公倍数.

    【解析】 (1) 因为84=21×472=18×4

        所以2118=3

        183=15

        153=12

        123=9

        93=6

        63=3

        所以2118的最大公约数等于3

        所以8472的最大公约数等于12

        【总结升华】先约简,再求2118的最大公约数,然后乘以约简的48472的最大公约数.

       26497=3869×1+2628

        3869=2628×1+1241

        2628=1241×2+146

        1241=146×8+73

        146=73×2+0

        所以3 8696 497的最大公约数为73

        最小公倍数为3 869×6497÷73=344341

    2.求三个数:16854264的最大公约数.

    【思路点拨】运用更相减损术或辗转相除法,先求16854的最大公约数a,再求a264的最大公约数.

    【答案】6

    【解析】 

     采用更相减损术先求16854的最大公约数.

        1685411454605465464864263663062461861266).

        16854的最大公约数为6

        采用辗转相除法求6264的最大公约数.

        264=44×6+0

        62646的最大公约数,也是这三个数的最大公约数.

    【总结升华】求最大公约数通常有两种方法:一是辗转相除法;二是更相减损术,对于3个数的最大公约数的求法,则是先求其中两个数的最大公约数m,再求m与第三个数的最大公约数.同样可推广到求3个以上数的最大公约数.

        举一反三:

    【变式1】求三个数324243135的最大公约数.

    【答案】27

    【解析】324=243×1+81

        243=81×3+0

        324243的最大公约数为81

        135=81×1+54

        81=54×1+27

        54=27×2+0

        81135的最大公约数为27

        三个数324243135的最大公约数为27

        更相减损术:

        324243=81

        24381=162

        16281=81

        81324243的最大公约数.

        13581=54

        8154=27

        5427=27

        2781135的最大公约数.

        三个数324243135的最大公约数为27

     例3.甲、乙、丙三种溶液分别重,现要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同,问每瓶最多装多少?

    【思路点拨】由题意,每个小瓶最多能装的溶液的质量应是三种溶液质量的最大公约数.

    【答案】

    【解析】

    先求147与343的最大公约数.

      343-147=196,

      196-147=49,

      147-49=98,

      98-49=49,

      147与343的最大公约数是49.

      再求49与133的最大公约数.

      133-49=84,

      84-49=35,

      49-35=14,

      35-14=21,

      21-14=7,

      14-7=7.

    147,343,133的最大公约数是7.

    故每瓶最多装.

    【总结升华】本题关键是分析清楚题意,找出三个数的最大公约数.求三个以上(含三个数)的数的最大公约数时,可依次通过求两个数的最大公约数与第三个数的最大公约数来求得.

    类型二:秦九韶算法

    4.(2015春 河北邯郸月考)用秦九韶算法求多项式x=5时的值.

    【思路点拨】利用秦九韶算法计算多项式的值,先将多项式转化为的形式,然后逐步计算的值,即可得到答案.

    【答案】2677

    【解析】

    所以f5=2677

    【总结升华】秦九韶算法的原理是

       

        在运用秦九韶算法进行计算时,应注意每一步的运算结果,像这种一环扣一环的运算,如果错一步,则下一步,一直到最后一步就会全部算错.同学们在计算这种题时应格外小心.

     举一反三:

    【变式1】用秦九韶算法求多项式x=2时的值.

    【答案】1397

    【解析】

        v0=8

        v1=8×2+5=21

        v2=21×2 -0=42

        v3=42×2 -3=87

        v4=87×2+0=174

        v5=174×2+0=348

        v6=348×2+2=698

        v7=698×2+1=1397

        所以,当x=2时,多项式的值为1397

    【变式2】用秦九韶算法计算多项式x=0.4时的值时,需做加法和乘法的次数和是(   

        A10    B9    C12    D8

     【答案】  C

     【解析】 

        加法6次,乘法6次,

        6+6=12(次),故选C

    类型三:进位制

    5.(1)试把十进制数136转化为二进制数;

    2)试把十进制数1 234转化为七进制数.

    【答案】(1100010002234127

      【解析】 (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

        1=2×0+1

        所以136=100010002

        21234=7×176+2

        176=7×25+1

        25=7×3+4

        3=7×0+3

        所以1234=34127

       【总结升华】(1)应注意搞清每一次除法中的被除数、除数,当商为零时停止除法,把每步所得的余数倒着排成一个数,就是相应的二进制数.

    2)十进制数转化为七进制数与转化为二进制数的方法类似,要认真体会其原理.

    举一反三:

        【变式1】(1)把十进制数89转化为二进制数;

        2)将十进制数2l转化为五进制数.

    【解析】(1)用除2取余法:

           

    89=2×(2×(2×(2×(2×(2×(2×0+1)+0)+1)+1)+0)+0)+1=2×(2×(2×(2×2×(22×0+2+0)+1)+1)+0)+0)+1 =……=1×26+0×25+1×24+1×23+0×22×0×21+1×20=1011001(2)

    2)用除5取余法,可得

           

    21=415

    6.(2016春 湖南娄底月考)若二进制数100y011和八进制数x03相等,求x+y的值.

    【思路点拨】直接利用进位制运算法则化简求解即可.

    【答案】1

    【解析】

    67+8y=64x+3

    y=01x可以取1234567

    y=0时,x=1y=1时,64x=72,无解;

    x+y=1

    举一反三:

     【变式1】在十进制中,,那么在五进制中数码2 004折合成十进制为(   

    A29    B254    C602    D2 004

    【答案】B

    解析:,故选B

    【变式2把四进制数2132化为七进制数________

    【答案】3147

    【解析】先将四进制21325)化为十进制数为

    然后将十进制的158化为七进制:

    158÷7=224

    22÷7=31

    3÷7=03

    所以,结果是3147

    故答案为:3147

     

    相关试卷

    知识讲解_余弦定理_提高练习题: 这是一份知识讲解_余弦定理_提高练习题,共8页。

    知识讲解_随机抽样_提高练习题: 这是一份知识讲解_随机抽样_提高练习题,共10页。

    知识讲解_算法案例_基础练习题: 这是一份知识讲解_算法案例_基础练习题,共9页。

    免费资料下载额度不足,请先充值

    每充值一元即可获得5份免费资料下载额度

    今日免费资料下载份数已用完,请明天再来。

    充值学贝或者加入云校通,全网资料任意下。

    提示

    您所在的“深圳市第一中学”云校通为试用账号,试用账号每位老师每日最多可下载 10 份资料 (今日还可下载 0 份),请取消部分资料后重试或选择从个人账户扣费下载。

    您所在的“深深圳市第一中学”云校通为试用账号,试用账号每位老师每日最多可下载10份资料,您的当日额度已用完,请明天再来,或选择从个人账户扣费下载。

    您所在的“深圳市第一中学”云校通余额已不足,请提醒校管理员续费或选择从个人账户扣费下载。

    重新选择
    明天再来
    个人账户下载
    下载确认
    您当前为教习网VIP用户,下载已享8.5折优惠
    您当前为云校通用户,下载免费
    下载需要:
    本次下载:免费
    账户余额:0 学贝
    首次下载后60天内可免费重复下载
    立即下载
    即将下载:0份资料
    • 充值学贝下载 90%的用户选择 本单免费
    • 扫码直接下载
    选择教习网的 4 个理由
    • 更专业

      地区版本全覆盖, 同步最新教材, 公开课⾸选;1200+名校合作, 5600+⼀线名师供稿

    • 更丰富

      涵盖课件/教案/试卷/素材等各种教学资源;500万+优选资源 ⽇更新5000+

    • 更便捷

      课件/教案/试卷配套, 打包下载;手机/电脑随时随地浏览;⽆⽔印, 下载即可⽤

    • 真低价

      超⾼性价⽐, 让优质资源普惠更多师⽣

    开票申请 联系客服
    本次下载需要:0学贝 0学贝 账户剩余:0学贝
    本次下载需要:0学贝 原价:0学贝 账户剩余:0学贝
    了解VIP特权
    您当前为VIP用户,已享全站下载85折优惠,充值学贝可获10%赠送

        扫码支付后直接下载

        0元

        扫码支付后直接下载

        使用学贝下载资料比扫码直接下载优惠50%
        充值学贝下载,本次下载免费
        了解VIP特权
        • 微信
        • 支付宝

        微信扫码支付

        支付宝扫码支付(支持花呗)

        到账0学贝
        • 微信
        • 支付宝

        微信扫码支付

        支付宝扫码支付 (支持花呗)

          下载成功

          Ctrl + Shift + J 查看文件保存位置

          若下载不成功,可重新下载,或查看 资料下载帮助

          本资源来自成套资源

          更多精品资料

          正在打包资料,请稍候…

          预计需要约10秒钟,请勿关闭页面

          服务器繁忙,打包失败

          请联系右侧的在线客服解决

          单次下载文件已超2GB,请分批下载

          请单份下载或分批下载

          支付后60天内可免费重复下载

          我知道了
          正在提交订单

          欢迎来到教习网

          • 900万优选资源,让备课更轻松
          • 600万优选试题,支持自由组卷
          • 高质量可编辑,日均更新2000+
          • 百万教师选择,专业更值得信赖
          微信扫码注册
          qrcode
          二维码已过期
          刷新

          微信扫码,快速注册

          还可免费领教师专享福利「樊登读书VIP」

          手机号注册
          手机号码

          手机号格式错误

          手机验证码 获取验证码

          手机验证码已经成功发送,5分钟内有效

          设置密码

          6-20个字符,数字、字母或符号

          注册即视为同意教习网「注册协议」「隐私条款」
          QQ注册
          手机号注册
          微信注册

          注册成功

          下载确认

          下载需要:0 张下载券

          账户可用:0 张下载券

          立即下载

          如何免费获得下载券?

          加入教习网教师福利群,群内会不定期免费赠送下载券及各种教学资源, 立即入群

          即将下载

          知识讲解_算法案例_提高练习题

          该资料来自成套资源,打包下载更省心

          [共10份]
          浏览全套
            立即下载(共1份)
            返回
            顶部