问题描述】
小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对 应 28,AZ 对应 52,LQ 对应 329。
请问 2019 对应的字符串是什么?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个大写英文字符串,在提交答案时只填写这个字符串,注意全部大写,填写多余的内容将无法得分。
答案:BYQ
代码思路:进制转换,除留余数法,a进制转化为b进制,a处以b所得余数,放在最后一位,依次往前放,所得商继续除,直到得数为0;
代码:
#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
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;//c++中string是可以直接加减的;#include<string>;string "ab"=string a+string b;
cout<<ans<<endl;
n/=26;
}
cout<<ans<<endl;
return 0;
}