题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明用字母 �A 对应数字 11,�B 对应 22,以此类推,用 �Z 对应 2626。对于 2727 以上的数字,小明用两位或更长位的字符串来对应,例如 ��AA 对应 2727,��AB 对应 2828,��AZ 对应 5252,��LQ 对应 329329。
请问 20192019 对应的字符串是什么?
运行限制
最大运行时间:1s
最大运行内存: 128M
题目分析
感觉这个题目应该就是26进制的一样的,在第一位就是26的多少次方,然后在乘以字符相对应的位置(例如A代表1),然后每一位都是这样子做
AC代码:
package lanqiaob;
public class 年号字符 {
public static void main(String[] args) {
char[] c = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V'
,'W','X','Y','Z'};
int num = 2019 ;
String s = "" ;
int sum = 1 ;
while (num>=26){
sum = 1 ;
int num2 = num ;
while (num2/26>0){
num2/=26 ;
sum*= 26 ;
}
int w = num/sum ;
s+= c[w-1];
num = num-sum*w ;
}
if (num>0){
s+= c[num-1];
}
System.out.println(s);
}
}