华为OD机试真题【工号不够用了怎么办】

目录

一、题目描述

二、输入输出

1.输入描述

2.输出描述

3.示例

三、代码实现Java


一、题目描述

3020年,空间通信集团的员工人数突破20亿人,即将遇到现有工号不够用的窘境。现在,请你负责调研新工号系统。继承历史传统,新的工号系统由小写英文字母(a-z)和数字(0-9)两部分构成。新工号由一段英文字母开头,之后跟随一段数字,

比如"aaahw0001",“a12345”,“abcd1”,“a00”。注意新工号不能全为字母或者数字,允许数字部分有前导0或者全为0。但是过长的工号会增加同事们的记忆成本,现在给出新工号至少需要分配的人数 X 和新工号中字母的长度 Y,求新工号中数字的最短长度 Z。
 

二、输入输出

1.输入描述

一行两个非负整数 X Y,用数字用单个空格分隔。

0<X<=2^{50}-1,0<Y<=5

说明: 数字长度不能为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++;}}}}


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

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部