试题 B:年号字串

本题总分:5 分

【问题描述】

       小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对 应 28,AZ 对应 52,LQ 对应 329。

       请问 2019 对应的字符串是什么?

【答案提交】

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

答案:BYQ

思路:当时是手算的,,所以得出BYQ,当然也可以写程序,就是一个A~Z表示的26进制。

参考代码:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#include<queue>
#include<map>
#include<set>
using namespace std;
 
int main()
{
	char num[27]={0,'A'};
	for(int i=2;i<27;i++)
		num[i]=num[i-1]+1;
	int n=2019;
	string ans="";
	while(n)
	{
		int t=n%26;
		ans=num[t]+ans;
		n/=26;
	}
	cout<<ans<<endl;
	return 0;
}