LQ0061 年号字串进制
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0061 年号字串进制相关的知识,希望对你有一定的参考价值。
题目来源:蓝桥杯2019初赛 C++ B组E题
题目描述
小明用字母A 对应数字1,B 对应2,以此类推,用Z 对应26。对于27以上的数字
小明用两位或更长位的字符串来对应,例如AA 对应27,AB 对应28,AZ 对应52,LQ 对应329。
请问2019 对应的字符串是什么?
问题分析
这是一个填空题,算出2019相对应的字符串即可。
进制问题,但是略有不同。
程序运行结果是“BYQ”。
AC的C语言程序如下:
/* LQ0061 年号字串 */
#include <stdio.h>
#define N 2019
char t[128];
int cnt = 0;
int main()
int n = N;
while (n)
int r = n % 26;
if (r == 0) r = 26;
t[cnt++] = 'A' + r - 1;
n = (n - r) / 26;
for (int i = cnt - 1; i >= 0; i--)
putchar(t[i]);
putchar('\\n');
return 0;
AC的C语言程序如下:
/* LQ0061 年号字串 */
#include <stdio.h>
#define N 2019
char t[128];
int cnt = 0;
int main()
int n = N;
while (n)
if (n % 26 == 0)
t[cnt++] = 'Z', n = n / 26 - 1;
else
t[cnt++] = 'A' + n % 26 - 1, n /= 26;
for (int i = cnt - 1; i >= 0; i--)
putchar(t[i]);
putchar('\\n');
return 0;
以上是关于LQ0061 年号字串进制的主要内容,如果未能解决你的问题,请参考以下文章