华为秋招2017年8月份笔试(三)
来源:互联网 发布:手机上怎么删淘宝评论 编辑:程序博客网 时间:2024/05/21 02:50
1.3 字母计数法:
某种场景下,开发人员决定使用字母表示一个正整数,该方法利用英文的小写字母表示,映射规则很简单,
按字母顺序每一个字母都代表一个值,如下所示列表的部分内容:
a 1
b 2
c 3
...
z 26
aa 27
ab 28
...
huawei 104680767
...
函数原型:
Void convertTo26(const char *input,char *output);
/输入参数input为一个ASCII码的字符串。输入字母表示的数最少一位,最多6位,且字母只能使用小写字母,输入十进制不超过32位整数最大值
输入
ab
输出
28
public class Main03 {//等价于26进制转换public static void main(String[] args) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){String str=sc.nextLine();String outstr=null;convertTo26(str);}}//转化为26进制private static void convertTo26(String str) {//判断输入的是数字、 还是字母字符串if (str.length()<1||str.length()>6) {return;}//判断是字母还是数字int sum=0;int len=str.length();char [] c=str.toCharArray();//转换为数组if ( str.charAt(0)>=97 && str.charAt(0)<=122) {//字母for (int i = 0; i <c.length; i++) {sum+=(c[i]-96)*Math.pow(26, c.length-i-1);}System.out.println(sum);}else if (str.charAt(0)>=48 && str.charAt(0)<=57) {//数字int num=Integer.parseInt(str);int mod=0;List<Integer>list=new ArrayList<>(); while(num!=0){mod=num%26;num=num/26; list.add(mod);//将结果进行保存,需要进行逆序处理 }Collections.reverse(list);//逆序处理String result="";for (int i = 0; i < list.size(); i++) {result+=String.valueOf((char)(list.get(i)+96));}System.out.println(result);}}}
阅读全文
0 0
- 华为秋招2017年8月份笔试(三)
- 华为秋招2017年8月笔试
- 腾讯2017 (移动开发岗位)9月份秋招笔试 试题总结
- 华为2017秋招测试工程师笔试试卷
- 华为2017秋招(8.30东北地区)在线笔试中英文字符串(电话号码)互换
- 2017华为暑期实习生校招笔试
- 2017年Ali秋招笔试题
- 腾讯2017秋招笔试编程题(三)---素数对
- 华为2017校招C++岗笔试题
- 华为笔试-嵌入式开发(三)
- 算法题之三道2016华为校招上机笔试题
- 华为笔试题三
- 华为2018优招笔试题
- 2017秋招华为面试--网络技术工程师
- 华为笔试题(8)
- 百度2017秋招笔试真题(一)
- 腾讯2017秋招笔试编程题(一)
- 调整队形(2017年网易春招笔试题)
- 隐藏虚拟按键
- 去哪儿网 笔试编程题
- C++ 输入数据方法总结
- 剑指Offer—62—二叉搜索树的第k个结点
- DATAGUARD BROKER配置步骤
- 华为秋招2017年8月份笔试(三)
- 解决Centos 6.4环境下myeclipse启动后突然关闭问题
- 如何压力测试一个唯一主键函数是否真的不会生成重复主键得方法
- 【AppScan深入浅出】修复漏洞:会话标识未更新(中危)
- Saltstack安装和使用
- 盒子居总结(display:block)
- 吾日三省
- 微信小程序图片链接加入正常,控制台报404错误解决方案
- 机器学习基础--贝叶斯分类器