26进制转换 boj1237

Description
xiaoming最近失眠,因为他的心里总是想着某一位女生,所以他决定数羊,毕竟是搞算法出来的人,所以他数羊的方式也很特别:1号羊A,2号羊B.....,26号羊Z,27号羊AA,28号


羊AB....702号羊ZZ,703号羊AAA, 123136851羊JIKYBS。数着数着他就睡着了,但是在梦里,他看到了她所想念的那个女生,正当xiaoming沉浸在幸福中的时候,让人意外的 事情发生了,女孩说:你数了那么多羊,你到底记不记得第XX号羊叫什么?面对这一个考验,小明惊醒了,他要赶快解决这一个问题,然后再次进入梦乡。

Input
多组数据输入。
每一组数据只有一个正整数n(n<=10^9) 


Output
对于n号羊,请输出它的命名。

Sample Input

4
28


Sample Output

D
AB

注意从1开始计数 1-->A,这和0-->A有区别,在每次%26之前需要对被除数减一

#include <cstdio>
using namespace std;

int main(int argc, char *argv[])
{
    int n, m, i;
    char str[100];

    while (EOF != scanf("%d", &n))
    {
        i = 0;
        while (!= 0)
        {
            if (< 26)
            {
                str[i++] = n + 'A' -1;
                break;
            }

            /*注意这里要减一*/
            n--;
            m = n % 26;
            str[i++] = m + 'A';
            n = n / 26;
        }

        for (i-- ; i>=; i--)
        {
            printf("%c", str[i]);
        }
        printf("\n");
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值