试题C:年号字串
小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27
以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对
应 28,AZ 对应 52,LQ 对应 329。
请问 2019 对应的字符串是什么?
答案:BYQ
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
string str;
while(n)
{
if(n%26==0)//当其为26时必须必须加个判断
{
str+='Z';
n = n/26-1;
}
else {
str+=char(n%26+'A'-1);//大于26时除以26拿余数
n/=26;
}
}
reverse(str.begin(),str.end());//因为我们这样得到的答案是逆序,用个reverse
cout<<str;
return 0;
}
这题与2017年初赛的excel地址几乎是一样的思路只是这个数据规模比较小