当前位置: 代码迷 >> 综合 >> 字符数字转换-2019蓝桥B题
  详细解决方案

字符数字转换-2019蓝桥B题

热度:72   发布时间:2024-02-23 17:00:14.0

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

运用进制来写,有26个字母,用26进制计算,但是要注意,当被26整除时并不需要进位,应用Z表示

具体如下

#include<stdio.h>
#include<string.h>
void dfs(int m)
{
    if(m==0)
        return 0;
    if(m%26==0)
    {
        dfs((m-1)/26);
        printf("z");
    }
    else
    {
        dfs(m/26);
        printf("%c",m%26+'A'-1);//表示当前位数
    }
    return 0;
}
int main()
{
    int n;
    scanf("%d",&n);
    dfs(n);
    return 0;
}