FJNU 1159 Fat Brother’s new way(胖哥的新姿势)

FJNU 1159 Fat Brother’s new way(胖哥的新姿势)

Time Limit: 1000MS   Memory Limit: 257792K

【Description】

【题目描述】

I bet, except Fat Brothers, all of you don’t like strange way to show integers , he is really like this way to showing integers:

 

1 -> ‘A’

 

2 -> ‘B’

 

…….

 

26 -> ‘Z’

 

27 -> ‘AA’

 

28 -> ‘AB’

 

…….

 

Unfortunately, Fat Brother’s mathematics is poor, so he needs your help, he will give you some integers, and you must transform it with Fat Brother’s way.

我琢磨着,除了胖哥,没人想用如此奇葩的方式表示整数,可他总喜欢这么来写整数:

 

1 -> ‘A’

 

2 -> ‘B’

 

…….

 

26 -> ‘Z’

 

27 -> ‘AA’

 

28 -> ‘AB’

 

…….

不幸的是,胖哥的数学并不好,因此他需要你的帮助,他会给你一些整数,你必须把他们转化成胖哥的表示方式。

 

 

【Input】

【输入】

Input starts with an integer T(T <= 10000), denoting the number of test case.

 

For each test case, an integers n(1 <= n <= 2147483647) is given.

输入以一个整数T(T <= 10000)打头,表示测试用例的数量。

 

对于每个测试用例,都有一个整数n(1 <= n <= 2147483647)。

 

【Output】

【输出】

For each case, output the corresponding string with upper-case letters.

对于每个用例,输出以大写字母组成的字符串。

 

【Sample Input - 输入样例】

【Sample Output - 输出样例】

3

17311

2068

37

YOU

CAN

AK

 

【题解】

  大概意思就是10进制转26进制,不过需要注意输入数据并不是从0开始的。

  对了,G++里没有strrev这个函数

【代码 C++】

 

 1 #include<cstdio>
 2 int main(){
 3     char opt[20];
 4     int t, a, i;
 5     scanf("%d", &t);
 6     while (t--){
 7         scanf("%d", &a);
 8         for (i = -1; a--; a /= 26) opt[++i] = 'A' + a % 26;
 9         while (~i) putchar(opt[i--]);
10         puts("");
11     }
12     return 0;
13 }

 

转载于:https://www.cnblogs.com/Simon-X/p/5402040.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值