华为OD机试 - 工号不够用了怎么办 - 双指针(Java 2023 B卷 100分)

news/2024/7/20 19:25:13 标签: 华为od, java, 开发语言

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出
      • 3、说明

华为OD机试 2023B卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

3020年,空间通信集团的员工人数突破20亿人,即将遇到现有工号不够用的窘境。

现在,请你负责调研新工号系统。

继承历史传统,新的工号系统由小写英文字母(a-z)和数字(0-9)两部分构成。新工号由一段英文字母开头,之后跟随一段数字。

比如”aaahw0001"、”a12345"、“abcd1”、”a00"。

注意新工号不能全为字母或者数字,允许数字部分有前导0或者全为0。

但是过长的工号会增加同事们的记忆成本,现在给出新工号至少需要分配的人数X和新工号中字母的长度Y,求新工号中数字的最短长度Z。

二、输入描述

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

0<X<=250-1

0<Y<=5

三、输出描述

输出新工号中数字的最短长度Z。

四、解题思路

小写字母有26种,数字有10种,因此如果工号组合选择一个字母,一个数字的话,则有26*10=260种。

如果选择两个字母,两个数字的话,则会产生262*102种工号。

现在确定了需要的工号总个数x,以及字母个数y,也就是说X=26y*10z

求最小的z,且z>=1。

因此z的求解公式:

z=log(x/26y)

这里我们要保证z向上取整,且保证z最小取1。

五、Java算法源码

java">package com.guor.od;

import java.util.*;

public class OdTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        long X = sc.nextLong();
        int Y = sc.nextInt();

        System.out.println((long) Math.max(1, Math.ceil(Math.log10(X / Math.pow(26, Y)))));
    }
}

六、效果展示

1、输入

260 1

2、输出

1

3、说明

在这里插入图片描述


🏆下一篇:华为OD机试 - 荒岛求生 - 栈Stack(Java 2023 B卷 100分)

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述


http://www.niftyadmin.cn/n/5053502.html

相关文章

程序通过命令行获取操作系统名称+版本+CPU名称等:Part2

文章目录 &#xff08;一&#xff09;沿用的方法&#xff08;二&#xff09;问题和调整&#xff08;2.1&#xff09;Windows11的版本号是10.0&#xff08;2.2&#xff09;Golang和管道符号&#xff08;Linux&#xff09;&#xff08;2.3&#xff09;最大内存容量 vs 当前安装内…

无线通信——Mesh自组网特点

Mesh&#xff0c;它的中文叫作无线网格状网络。作为当下最为灵活、高效、便捷的扩大信号覆盖的通信解决方案之一&#xff0c;Mesh组网得到了极大推广。其主要应用于&#xff1a;&#xff08;无人机/车/船、特种机器人、巡检、应急安防&#xff08;如城市应急、抢险救援、城区覆…

记一次springboot的@RequestBody json值注入失败的问题(字段大小写的问题)

有时候做后端开发时&#xff0c;难免会与算法联调接口&#xff0c;很多算法的变量命名时全部大写&#xff0c;在实际springmvc开发中会遇到无法赋值的问题。 先粘贴问题代码 entity类 Data NoArgsConstructor EqualsAndHashCode(callSuper true) ToString(callSuper true) …

LwIP笔记02:

一、LwIP源文件 api&#xff1a;NETCONN API 和 Socket API 相关的源文件&#xff0c;在有操作系统环境下使用 apps&#xff1a;应用程序源文件&#xff0c;如http、mqtt、tftp等 core&#xff1a;LwIP内核源文件 include&#xff1a;LwIP所有模块对应的头文件 netif&…

tensor维度变换

作用函数不变大小改变shapeview / reshape删减与增加维度squeeze / unsqueeze维度扩展expand / repeat矩阵转置&#xff0c;单次和多次交换操作t / transpose / permute 1、 view reshape view与reshape效果一致&#xff0c;且可以通用。直接以view为例&#xff1a; a torc…

react实现列表滚动组件

1.需求 在开发项目的时候&#xff0c;从服务端获取到数据列表后&#xff0c;展示给用户看&#xff1a;需要实现数据自动滚动效果&#xff0c;怎么实现呢&#xff1f;如下图所示&#xff1a; 2.实现 把上面需要实现的功能写成一个组件&#xff0c;页面直接调用该组件即可&#x…

sqlServer 检测慢 sql

部署监控: 部署慢SQL与死锁跟踪 Skip to end of metadata 仅SQL Server 2012及以上版本可用. 执行前请确保路径正确! 慢SQL定义:执行时间超过0.5秒即定义为慢SQL,会被捕获。 SSMS中新建查询窗口,将下面代码贴上后执行。 该代码会新建一个[YX_Monitor]库,库中包含[Deadloc…

数据集 | 抽取

从一个dataset文件夹随机抽取45000张图片&#xff0c;放入train文件夹&#xff0c;随机抽取5000张图片&#xff0c;放入test文件夹&#xff0c;train和test文件夹没有交集&#xff0c;dataset文件夹中包括100000张图片分别是ILSVRC2012_test_00000001.JPEG到ILSVRC2012_test_00…