蓝桥杯 字母数!!
题目
题目/?page=1&first_category_id=1&sort=students_count&second_category_id=3&tags=2023
思路
基础知识:进制之间的转换
十进制:都是以0-9这9个数字组成。
二进制:由0和1两个数字组成。
八进制:由0-7数字组成
十六进制:由0-9和A-F组成,英文字母A,B,C,D,E,F分别表示数字10~15.
1、十进制转R进制:
(1)十进制转二进制的原理:十进制数除以2,余数为权位上的数,得到商继续除以2,指导商为0终止,然后反向取余数。
具体实现:
例如(67)10 → (1000011)2
将67除以2得商33,余数1。将商(33)作为第二次的被除数一次类推,直到商为0.
(2)十进制转八、十六进制的原理:跟十转二原理一样,十进制数除以8/16.余数为权位上的数,得到商继续除以8/16,直到商为0终止,然后反向取余数。
具体实现:
例758(十进制)→ 1366(八进制) 951(十进制)→ 3B7(十六进制)
步骤跟十进制转二进制一样。
2、R进制转十进制
方法:把R进制数按权展开、相加即得十进制数。
例题: 1001 0110B = ______ D
如下图所示,答案为150D
例题: 26Q = ______ D
如下图所示,答案为22D
例题: 23daH = ______ D
如下图所示,答案为9178D
答案
def check(n):while n:if n % 16 <= 9:return Falseelse:n = n // 16return Truenum = 2022
while True:if check(num):print(num)breaknum = num + 1
2730
蓝桥杯 字母数!!
题目
题目/?page=1&first_category_id=1&sort=students_count&second_category_id=3&tags=2023
思路
基础知识:进制之间的转换
十进制:都是以0-9这9个数字组成。
二进制:由0和1两个数字组成。
八进制:由0-7数字组成
十六进制:由0-9和A-F组成,英文字母A,B,C,D,E,F分别表示数字10~15.
1、十进制转R进制:
(1)十进制转二进制的原理:十进制数除以2,余数为权位上的数,得到商继续除以2,指导商为0终止,然后反向取余数。
具体实现:
例如(67)10 → (1000011)2
将67除以2得商33,余数1。将商(33)作为第二次的被除数一次类推,直到商为0.
(2)十进制转八、十六进制的原理:跟十转二原理一样,十进制数除以8/16.余数为权位上的数,得到商继续除以8/16,直到商为0终止,然后反向取余数。
具体实现:
例758(十进制)→ 1366(八进制) 951(十进制)→ 3B7(十六进制)
步骤跟十进制转二进制一样。
2、R进制转十进制
方法:把R进制数按权展开、相加即得十进制数。
例题: 1001 0110B = ______ D
如下图所示,答案为150D
例题: 26Q = ______ D
如下图所示,答案为22D
例题: 23daH = ______ D
如下图所示,答案为9178D
答案
def check(n):while n:if n % 16 <= 9:return Falseelse:n = n // 16return Truenum = 2022
while True:if check(num):print(num)breaknum = num + 1
2730