解题思路:
定义数组存储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());
}
}
0.0分
3 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复