神奇的编码
Description
假如没有阿拉伯数字,我们要怎么表示数字呢
小明想了一个方法如下:
1 -> A
2 -> B
3 -> C
....
25 -> Y
26 -> Z
27 -> AA
28 -> AB
....
现在请你写一个程序完成这个转换
Input
输入的第一个数为一个正整数T,表明接下来有T组数据。
每组数据为一个正整数n ( n <= 1000)
Output
对于每个正整数n,输出他对应的字符串
Sample Input
3
1
10
27
Sample Output
A
J
AA
HINT
本来按照普通的进制转换做 不对,因为发现普通的进制转换有个0,而这里A直接等于1,
相当于每次都差了1,所以递归的时候每次-1就好了。
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <string> 5 #include <algorithm> 6 using namespace std; 7 int T, n; 8 void fun(int n){ 9 if(n == -1) return; 10 fun(n/26-1); 11 printf("%c",n%26+'A'); 12 } 13 int main(){ 14 scanf("%d", &T); 15 while(T--){ 16 scanf("%d", &n); 17 fun(n-1); 18 printf("\n"); 19 } 20 21 return 0; 22 }