华为OD机试真题【工号不够用了怎么办】
目录
一、题目描述
二、输入输出
1.输入描述
2.输出描述
3.示例
三、代码实现Java
一、题目描述
3020年,空间通信集团的员工人数突破20亿人,即将遇到现有工号不够用的窘境。现在,请你负责调研新工号系统。继承历史传统,新的工号系统由小写英文字母(a-z)和数字(0-9)两部分构成。新工号由一段英文字母开头,之后跟随一段数字,
比如"aaahw0001",“a12345”,“abcd1”,“a00”。注意新工号不能全为字母或者数字,允许数字部分有前导0或者全为0。但是过长的工号会增加同事们的记忆成本,现在给出新工号至少需要分配的人数 X 和新工号中字母的长度 Y,求新工号中数字的最短长度 Z。
二、输入输出
1.输入描述
一行两个非负整数 X Y,用数字用单个空格分隔。
说明: 数字长度不能为0
2.输出描述
输出新工号中数字的最短长度 Z
3.示例
输入示例1
260 1
输出示例1
1
输入示例2
26 1
输出示例2
1
输入示例3
2600 1
输出示例3
2
三、代码实现Java
public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNextLong()) {long minNumOfPeople = in.nextLong();int length = in.nextInt();int lenOfNum = 1;while (true) {double pow = Math.pow(26, length);double pow1 = Math.pow(10, lenOfNum);double maxNumOfPeople = pow * pow1;if (maxNumOfPeople >= minNumOfPeople) {System.out.println(lenOfNum);break;} else {lenOfNum++;}}}}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
