蓝桥杯 java 年号字符串

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

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值