栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

先上原题:

【问题描述】 小明用字母 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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/703414.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号