解题思路:

    定义数组存储26个字母

    1. 取余得最后一个字母

    2. 除法得前边的字母

    重复1,2,知道最后结果小于26

注意事项:

    如果被整除,取余得结果取最后一个值

参考代码:

import java.util.Scanner;
    
public class Demo01 {
 public static void main(String[] args) {
  //  初始化
  String temp = "ABCDEFGHIGKLMNOPQRSTUVWXYZ";
  char[] letter = temp.toCharArray();
  // 输入
  Scanner sc = new Scanner(System.in);
  int num = sc.nextInt();
  
  // 判断
  StringBuilder sb = new StringBuilder(); // 选择StringBuilder,是因为它有速度优势
  while(num>26){
   int a = num%26;
   // 如果刚好被除尽,取最后一个值Z,并且num值要-1
   if(a==0){ 
    a=26;
    num-=26;
   }
   // 取余得到最后一个值
   sb.insert(0, letter[a-1]);
   // 得到新的结果
   num /= 26;
  }
  sb.insert(0, letter[num-1]);
  
  // 输出
  System.out.println(sb.toString());  
 }
}

 

点赞(8)
 

0.0分

3 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

Monster 3年前 回复TA
牛啊牛啊