200 likes | 329 Views
算法案例. 复习回顾:. 求 18 与 30 的最大公约数. 18 与 36 的最大公约数为:. 思考:怎样求 8251 与 6105 的最大公约数?. 此时使用上述方法比较困难, 一般用 辗转相除法(欧几里得算法). 案例 1. 辗转相除法. 6105 与 2146 的公约数也是 8251 与 6105 的公约数,故它们的最大公约数相等. 同理 , 2146 与 1813 的最大公约数也是 6105 与 2146 的最大公约数. 37 是 148 和 37 的最大公约数 , 也是 8251 与 6105 的最大公约数 . 此方法就是 辗转相除法.
E N D
复习回顾: 求18与30的最大公约数 18与36的最大公约数为:
思考:怎样求8251与6105 的最大公约数? 此时使用上述方法比较困难, 一般用辗转相除法(欧几里得算法)
案例1.辗转相除法 6105与2146的公约数也是8251与6105的公约数,故它们的最大公约数相等. 同理, 2146与1813 的最大公约数也是6105与2146的最大公约数.
37是148和37的最大公约数,也是8251与6105的最大公约数.此方法就是辗转相除法.37是148和37的最大公约数,也是8251与6105的最大公约数.此方法就是辗转相除法.
《九章算术》中“更相减损术”也可以求两个数的最大公约数,《九章算术》中“更相减损术”也可以求两个数的最大公约数, 具体内容参照课本P36
案例2 进位制 十进制:通常使用阿拉伯数字0—9 这10个数字进行记数。也就是说“满十 进一”。 二进制:通常使用阿拉伯数字0和1 两个数字进行记数。也就是说“满二 进一”。
概念 进位制: 是一种记数方式,用有限的数字在不同的位置表示不同的数值。 可使用数字符号的个数称为基数,基数为k,即可称k进制。
二进制 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(2),七进制数260(7)十进制数一般不标注基数。为了区分不同的进位制,常在数的右下角标明基数,如二进制数10(2),七进制数260(7)十进制数一般不标注基数。
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
问题一: 如何将其它进制的数转化为十进制数? 一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式: anan-1...a1a0 =an×kn+an-1×kn-1+….+a0×k0 将上式右边的幂按照十进制求和加在一起,就会得到相应的十进制数的形式
例1 把二进制数110011(2)化为十进制数. 解: 110011(2)=1×25+1×24+0×23+0×22+1×21+1×20 = 51 练习: 把五进制数324(5)化为十进制数. 89
练习1. 把五进制数324(5)化为十进制数. 89 2.将1010101(2)转化为十进制数. 3.将43(5)转化为十进制数. 85 23
例2. 设计一个程序把k进制的数a(共有n位)转化为十进制数b. 参照课本P41例4
进位制的转换 问题二: 如何将十进制的数转化为其它进制数?
进位制的转换 例3. 把89化为二进制数. 分析:根据二进制“满二进一”的原则,可以用2连续去除89得到商,然后取余数,具体做法如下:
进位制的转换 除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)
余数 5 89 17 5 4 3 2 5 0 3 例4. 把89化为五进制数 解: 89=324(5)
进位制的转换 作业 P48 A 3 (作业本) 名师一号:P31