【小米校招笔试】在Excel中,列的名称是这样一个递增序列:seq={A、B、C、... Z、AA、AB、AC、... AZ、BA、BB、BC、... BZ、CA、... ZZ、AAA、AAB...

2016年小米校招笔试第一题(成都站)

1 在Excel中,列的名称是这样一个递增序列:seq={A、B、C、...  Z、AA、AB、AC、... AZ、BA、BB、BC、... BZ、CA、... ZZ、AAA、AAB...}。求给出任意一个自然数n,求这个序列中第n个字符串。函数声明:String getColumnLable(int n)
参考解法(Java版):
package XiaoMi;public class test16 {/************************************** @param args* 算法思想:分别求每一位的字符,从后向前求************************************/public static void main(String[] args) {// TODO Auto-generated method stubtest16 t = new test16();System.out.println(t.getColumnLable(675556));}String getColumnLable(int n) {String tmp = "";// 按位找int count = 1;while (((int) (n / Math.pow(26, count-1)) > 0)) {int w3 = ((int) (n % Math.pow(26, count)) / (int) Math.pow(26, count - 1));char c = (char) (w3 + 65);tmp = c + tmp;count++;}return tmp;}
}
运行结果:
BMLIY




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部