蓝桥杯c++c组2019初赛年号字串

试题C:年号字串

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

答案:BYQ

#include 
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地址几乎是一样的思路只是这个数据规模比较小

你可能感兴趣的:(蓝桥杯c++c组2019初赛年号字串)