本文主要是介绍华为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++;}}}}
这篇关于华为OD机试真题【工号不够用了怎么办】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!