2019蓝桥杯省赛c语言b组 试题 B: 年号字串
【问题描述】
小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对 应 28,AZ 对应 52,LQ 对应 329。
请问 2019 对应的字符串是什么?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一 个大写英文字符串,在提交答案时只填写这个字符串,注意全部大写,填写多 余的内容将无法得分。
思路:这是进制转换题,但又与以往的进制转换题不一样,它是从1开始数的,而不是0,这就需要灵活转换下。
解法一:暴力破解
思路:2019<26的平方乘以9,所以是三位数。遍历三位数,找到合适的。
#include<stdio.h>
#include<iostream>
//暴力破解,因此是从1,2,3,,,26的,故没有0,直接从1开始循环,因为是26进制,故十进制转换为26进制一样,按位相乘法。缺点就是要知道是几位数,
int main() {
int i, j, k;
for (i = 1; i <= 26; i++)
for (j = 1; j <= 26; j++)
for (k = 1; k <= 26; k++) {
if (i * 26 * 26 + j * 26 + k == 2019)
printf("%d %d %d", i, j, k);//自己装换下,1表示A,26表示Z等等
}
system("pause");
return 0;
}