华为OD机试 - 来自异国的客人(Java 2024 D卷 100分)

在这里插入图片描述

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

专栏导读

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

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

一、题目描述

有位客人来自异国,在该国使用m进制计数。

该客人有个幸运数字n(n<m),每次购物时,其总是喜欢计算本次支付的花费(折算为异国的价格后)中存在多少幸运数字。

问: 当其购买一个在我国价值k的产品时,其中包含多少幸运数字?

二、输入描述

第一行输入为 k,n,m。其中:

k 表示 该客人购买的物品价值 (以十进制计算的价格)

n 表示该客人的幸运数字

m 表示 该客人所在国度的采用的进制

三、输出描述

输出幸运数字的个数,行未无空格。

1、输入

10 2 4

2、输出

2

3、说明

10用4进制表示时为22,同时,异国客人的幸运数字是2,故而此处输出为2,表示有2个幸运数字。

四、解题思路

我们需要将十进制数 k 转换为 m 进制,然后统计其中等于幸运数字 n 的个数。具体步骤如下:

  1. 将十进制数 k 转换为 m 进制:
    • 使用除基取余法,直到 k 为0,将每次的余数记录下来。
    • 将记录的余数反向排列,即为 m 进制表示。
  2. 统计幸运数字的个数:
    • 遍历 m 进制表示的数字,统计其中等于 n 的数字个数。
  3. 输出结果:输出幸运数字的个数。

五、Java算法源码

public class Test01 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取输入的 k, n, mint k = scanner.nextInt();int n = scanner.nextInt();int m = scanner.nextInt();// 关闭Scannerscanner.close();// 将十进制数 k 转换为 m 进制String mBaseNumber = convertToBaseM(k, m);// 统计幸运数字 n 的个数int luckyNumberCount = countLuckyNumbers(mBaseNumber, n);// 输出结果System.out.println(luckyNumberCount);}// 将十进制数 k 转换为 m 进制表示private static String convertToBaseM(int k, int m) {StringBuilder mBaseNumber = new StringBuilder();while (k > 0) {int remainder = k % m;mBaseNumber.append(remainder);k /= m;}return mBaseNumber.reverse().toString();}// 统计 m 进制表示中幸运数字 n 的个数private static int countLuckyNumbers(String mBaseNumber, int n) {int count = 0;char luckyDigit = Character.forDigit(n, 10);for (char digit : mBaseNumber.toCharArray()) {if (digit == luckyDigit) {count++;}}return count;}
}

六、效果展示

1、输入

10 4 4

2、输出

0

3、说明

此时客人的幸运数字为4,但是由于该国最大为4进制,故而在该国的进制下不可能出现幸运数字,故而返回0

在这里插入图片描述


🏆下一篇:华为OD机试 - 简易内存池 - 逻辑分析(Java 2024 C卷 200分)

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

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/41170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新手教学系列——前后端分离API优化版

在之前的文章《Vue 前后端分离开发:懒人必备的API SDK》中,我介绍了通过Object对象自动生成API的方法。然而,之前的代码存在一些冗余之处。今天,我将分享一个改进版本,帮助你更高效地管理API。 改进版API SDK 首先,让我们来看一下改进后的代码: import request from …

深入理解 KVO

在 iOS 中&#xff0c;KVO&#xff08;Key-Value Observing&#xff09;是一个强大的观察机制&#xff0c;它的底层实现相对复杂。KVO 利用 Objective-C 的动态特性&#xff0c;为对象的属性提供观察能力。 KVO 的底层实现 1. 动态子类化 当一个对象的属性被添加观察者时&am…

6、Redis系统-数据结构-01-String

Redis 数据结构简介 前言 Redis 是一个高性能的内存数据库&#xff0c;其关键在于其数据结构的设计。Redis 数据结构是指底层实现 Redis 键值对中值的数据类型的方式。它包括了以下几种主要对象&#xff1a; String&#xff08;字符串&#xff09;对象&#xff1a;最基本的数…

[C++][CMake][流程控制]详细讲解

目录 1.条件判断1.基本表达式2.逻辑判断3.比较4.文件操作5.其他 2.循环1.foreach2.while 1.条件判断 在进行条件判断的时候&#xff0c;如果有多个条件&#xff0c;那么可以写多个elseif&#xff0c;最后一个条件可以使用else&#xff0c;但是开始和结束是必须要成对出现的&am…

WordPress常见问题及简要说明

1. 如何安装WordPress? 简要说明&#xff1a;WordPress是一个流行的内容管理系统&#xff0c;可以帮助用户快速搭建网站。安装WordPress需要以下几个步骤&#xff1a;下载WordPress安装包、上传到服务器、创建数据库、配置数据库信息、完成安装。 2. 如何创建一个新的WordPr…

掌握电量脉搏:WebKit 电池状态(Battery Status API)支持全解析

掌握电量脉搏&#xff1a;WebKit 电池状态&#xff08;Battery Status API&#xff09;支持全解析 随着移动设备的广泛使用&#xff0c;Web 应用对设备的电池状态信息的需求日益增长。Battery Status API 提供了一种方式&#xff0c;允许 Web 应用访问设备的电池信息&#xff…

【反悔贪心 反悔堆】1642. 可以到达的最远建筑

本文涉及知识点 反悔贪心 反悔堆 LeetCode1642. 可以到达的最远建筑 给你一个整数数组 heights &#xff0c;表示建筑物的高度。另有一些砖块 bricks 和梯子 ladders 。 你从建筑物 0 开始旅程&#xff0c;不断向后面的建筑物移动&#xff0c;期间可能会用到砖块或梯子。 当…

Spring Boot中的全局异常处理

Spring Boot中的全局异常处理 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨如何在Spring Boot应用中实现全局异常处理&#xff0c;这是保证应用…

VSCode, 请在windows下使用git bash终端

用vscode在windows下调测代码&#xff0c;运行时默认打开的终端是windows的cmd&#xff0c;很不受我待见。毕竟习惯了linux&#xff0c;习惯了windows下的git bash风格。怎么办&#xff1f; search&#xff0c;search&#xff0c;research。 先确保windows上安装了git bash。…

MATLAB 2024b 更新了些什么?

MATLAB 2024b版本已经推出了预览版&#xff0c;本期介绍一些MATLAB部分的主要的更新内容。 帮助浏览器被移除 在此前的版本&#xff0c;当我们从MATLAB中访问帮助文档时&#xff0c;默认会通过MATLAB的帮助浏览器&#xff08;Help browser&#xff09;。 2024b版本开始&…

【Unity数据交互】如何Unity中读取Ecxel中的数据

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 专栏交流&#x1f9e7;&…

医院挂号系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;患者管理&#xff0c;医生管理&#xff0c;专家信息管理&#xff0c;科室管理&#xff0c;预约信息管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;专家信息&#xff0…

数据结构算法-排序(一)-冒泡排序

什么是冒泡排序 冒泡排序&#xff1a;在原数组中通过相邻两项元素的比较&#xff0c;交换而完成的排序算法。 算法核心 数组中相邻两项比较、交换。 算法复杂度 时间复杂度 实现一次排序找到最大值需要遍历 n-1次(n为数组长度) 需要这样的排序 n-1次。 需要 (n-1) * (n-1) —…

Java事务(Transaction)

Java事务&#xff08;Transaction&#xff09;是数据库管理系统执行过程中的一个逻辑单位&#xff0c;由一个有限的数据库操作序列组成&#xff0c;这些操作要么全部执行&#xff0c;要么全部不执行&#xff0c;是一个不可分割的工作单位。事务的引入主要是为了解决并发操作数据…

Unity中遇到“Input Button unload_long_back_btn is not setup”问题

当你在Unity中遇到“Input Button unload_long_back_btn is not setup”这个问题时&#xff0c;需要按照以下步骤进行处理&#xff1a; 1. 检查按钮名称 确保你在代码中使用的按钮名称&#xff08;unload_long_back_btn&#xff09;与Unity输入管理器中的配置完全匹配。 2. …

[AIGC] ClickHouse分布式表与本地表的区别及如何查询所有本地表记录

在大规模数据处理和分析场景中&#xff0c;ClickHouse是一种高性能的列式数据库管理系统。ClickHouse支持分布式表和本地表两种表类型&#xff0c;本文将介绍这两种表类型的区别&#xff0c;并探讨如何建表以查询所有本地表的记录。 文章目录 一、ClickHouse分布式表与本地表的…

【Linux进阶】文件系统7——文件系统简单操作

1.磁盘与目录的容量 现在我们知道磁盘的整体数据是在超级区块中&#xff0c;但是每个文件的容量则在inode 当中记载。 那在命令行模式下面该如何显示这几个数据&#xff1f;下面就让我们来谈一谈这两个命令&#xff1a; df&#xff1a;列出文件系统的整体磁盘使用量&#xf…

Poker Game, Run Fast

Poker Game, Run Fast 扑克&#xff1a;跑得快 分门别类&#xff1a; 单张从小到大默认 A < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < J < Q < K 跑得快&#xff1a;单张从小到大 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 &…

javaweb个人主页设计(html+css+js)

目录 1 前言和要求 1.1 前言 1.2 设计要求 2 预览 2.1 主页页面 2.2 个人简介 2.3 个人爱好 2.4 个人成绩有代码&#xff0c;但是图片已省略&#xff0c;可以根据自己情况添加 2.5 收藏夹 3 代码实现 3.1 主页 3.2 个人简介 3.3 个人爱好 3.4 个人成绩&#xff…

大数据处理利器:Apache Spark编程基础与实战

"大数据处理利器&#xff1a;Apache Spark编程基础与实战" 是一个涵盖了Apache Spark这一强大大数据处理框架的深入学习和实践指南。Apache Spark是一个快速、通用、可扩展的大数据处理引擎&#xff0c;它提供了高级别的API用于大规模数据处理和分析。下面&#xff0…