1 / 20

算法案例

算法案例. 复习回顾:. 求 18 与 30 的最大公约数. 18 与 36 的最大公约数为:. 思考:怎样求 8251 与 6105 的最大公约数?. 此时使用上述方法比较困难, 一般用 辗转相除法(欧几里得算法). 案例 1. 辗转相除法. 6105 与 2146 的公约数也是 8251 与 6105 的公约数,故它们的最大公约数相等. 同理 , 2146 与 1813 的最大公约数也是 6105 与 2146 的最大公约数. 37 是 148 和 37 的最大公约数 , 也是 8251 与 6105 的最大公约数 . 此方法就是 辗转相除法.

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. 复习回顾: 求18与30的最大公约数 18与36的最大公约数为:

  3. 思考:怎样求8251与6105 的最大公约数? 此时使用上述方法比较困难, 一般用辗转相除法(欧几里得算法)

  4. 案例1.辗转相除法 6105与2146的公约数也是8251与6105的公约数,故它们的最大公约数相等. 同理, 2146与1813 的最大公约数也是6105与2146的最大公约数.

  5. 37是148和37的最大公约数,也是8251与6105的最大公约数.此方法就是辗转相除法.37是148和37的最大公约数,也是8251与6105的最大公约数.此方法就是辗转相除法.

  6. 《九章算术》中“更相减损术”也可以求两个数的最大公约数,《九章算术》中“更相减损术”也可以求两个数的最大公约数, 具体内容参照课本P36

  7. 案例2 进位制 十进制:通常使用阿拉伯数字0—9 这10个数字进行记数。也就是说“满十 进一”。 二进制:通常使用阿拉伯数字0和1 两个数字进行记数。也就是说“满二 进一”。

  8. 概念 进位制: 是一种记数方式,用有限的数字在不同的位置表示不同的数值。 可使用数字符号的个数称为基数,基数为k,即可称k进制。

  9. 二进制 0,1 七进制 0,1,2,3,4,5,6 0,1,2,3,4,5,6,7 八进制 0,1,2,3,4,5,6,7,8,9 十进制

  10. 为了区分不同的进位制,常在数的右下角标明基数,如二进制数10(2),七进制数260(7)十进制数一般不标注基数。为了区分不同的进位制,常在数的右下角标明基数,如二进制数10(2),七进制数260(7)十进制数一般不标注基数。

  11. 7342(8)= 103 3721= 3×___+7×___+2×___+1×__ 102 101 100 1×___+1×___+0×___ +0×__ +1×___+1×___ 25 24 23 110011(2)= 21 20 22 7×83+3 ×82+4 ×81+2 ×80

  12. 问题一: 如何将其它进制的数转化为十进制数? 一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式: anan-1...a1a0 =an×kn+an-1×kn-1+….+a0×k0 将上式右边的幂按照十进制求和加在一起,就会得到相应的十进制数的形式

  13. 例1 把二进制数110011(2)化为十进制数. 解: 110011(2)=1×25+1×24+0×23+0×22+1×21+1×20 = 51 练习: 把五进制数324(5)化为十进制数. 89

  14. 练习1. 把五进制数324(5)化为十进制数. 89 2.将1010101(2)转化为十进制数. 3.将43(5)转化为十进制数. 85 23

  15. 例2. 设计一个程序把k进制的数a(共有n位)转化为十进制数b. 参照课本P41例4

  16. 进位制的转换 问题二: 如何将十进制的数转化为其它进制数?

  17. 进位制的转换 例3. 把89化为二进制数. 分析:根据二进制“满二进一”的原则,可以用2连续去除89得到商,然后取余数,具体做法如下:

  18. 进位制的转换 除K取余法 余数 2 89 1 2 44 0 2 22 0 11 2 1 1 5 2 0 2 2 1 1 2 0 89=1011001(2)

  19. 余数 5 89 17 5 4 3 2 5 0 3 例4. 把89化为五进制数 解: 89=324(5)

  20. 进位制的转换 作业 P48 A 3 (作业本) 名师一号:P31

More Related