package LqJava._课程代练.第三章.test6;
/**
* Created with IntelliJ IDEA.
*
* @Author: MR
* @Date: 2024/1/12 15:32
* @Description :
* 小明用字母A对应数字1,B对应2,以此类推,用Z对应26。对于27以上的数字,
* 小明用两位或更长位的字符串来对应,例如AA对应27,AB对应28,AZ对应52,LQ对应329。
* 请问2019对应的字符串是多少?
* <p>
* 思路:利用十进制的思路来类比
* <p>
* 十进制的话 1889 就等于 1*10^3(1000) + 8*10^2(800) + 8*10^1(80) + 9*10^0(9) =1889
* AA = 27
* 1*26^1(26) + 1*26^0(1) =27
* <p>
* 个位为1 任何数的0次方都是1 然后十位是26的一次方 百位就是26的2次方 没有千位 千位超过了2019了
* 也就说明只有3个数 用xyz表示
* x*26^2 + y*26^1 + z
*/
public class 年号字符串 {
public static void main(String[] args) {
System.out.println(2019 / (26 * 26)); //2 B
System.out.println(2019 % (26 * 26) /(26)); // 25 Y
System.out.println(2019 % (26 * 26) % (26)); // 17 Q
System.out.println("BYQ");
// 还可以使用excel表格来拉
}
}
思路:AA=27 十位=1*26^2 + 1*26^0
2019的三次方超过了2019 其实就只有3个数 我们用xyz来表示
求2019 = x*26^2 + y * 26^1+z