蓝桥杯真题系列:19年C语言B组试题 年号字串

本文介绍了一种特殊的26进制转换方法,用于将数字2019转换成由大写字母组成的字符串。文章详细解释了转换过程,并给出了最终结果BYQ。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先上原题:

【问题描述】 小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对 应 28,AZ 对应 52,LQ 对应 329。 请问 2019 对应的字符串是什么?

【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个大写英文字符串,在提交答案时只填写这个字符串,注意全部大写,填写多 余的内容将无法得分。

题意理解:将一个数转为26进制(但是这里有坑啊,平常我们说的十进制是用0-9表示所有的正数,但是这是用1-26表示所有正数,这也就是我为什么在一个坑处想了很长时间)

题目关键点:熟练了解任意进制与任意进制之间的转换。跳过0的坑

首先说进制转换,这篇文章写的很好

公式法 任意进制转化_dujuancao11的博客-CSDN博客_进制转换公式https://blog.csdn.net/dujuancao11/article/details/1054277941,十进制往其他进制转换,利用短除法,就比如说这里的十进制的52,要转换为26进制的数字就需要52 / 26 = 2----0,把0记下来,把2继续运算2 / 26 = 0 -----2。只到这里把商算为1停止,那么这时列表中的数字为(只记录余数)[0,2]倒过来就是[2,0]也就是说十进制52的26进制数为20,由于题目规定1-26对应A-Z而并没有0的数值,这样只有把2往后退变为1,0则变为26对应就为AZ

n = 2019
while n != 0:
    yu = n % 26
    list1.append(yu)
    n = n // 26
print(list1[::-1])
[2, 25, 17]

这个余数的结果一定要反过来。由于其中没有0,答案就好写多了对照字母表可知为:BYQ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值