蓝桥杯 字母数!!

题目

题目https://www.lanqiao.cn/problems/2406/learning/?page=1&first_category_id=1&sort=students_count&second_category_id=3&tags=2023蓝桥杯 字母数!!_第1张图片

 思路

基础知识:进制之间的转换

十进制:都是以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 False
        else:
            n = n // 16
    return True
    
num = 2022
while True:
    if check(num):
        print(num)
        break
    num = num + 1

2730

你可能感兴趣的:(蓝桥杯,蓝桥杯)