解题思路:
定义数组存储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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复