进制转换计算幸运数出现次数(华为od机考题)

一、题目

1.原题

有位客人来自异国,在该国使用m进制计数。
该客人有个幸运数字n(n<m),每次购物时,
其总是喜欢计算本次支付的花费(折算为异国的价格后)中存在多少幸运数字。
问:当其购买一个在我国价值k的产品时,其中包含多少幸运数字?

2.题目理解

[位运算, 进制转换]

二、思路与代码过程

1.思路

把k转换成m进制的字符串,再去和n比较次数。

2.代码过程

①main函数

public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入进制数m:");int m = sc.nextInt();System.out.println("请输入幸运数字n(n<m)");int n = sc.nextInt();System.out.println("请输入购买物品价值k:");int k = sc.nextInt();int count = LuckNumCount(m,n,k);String hm = ToM( k, m);System.out.println("这次购物的价格"+k+",转换之后为:"+hm+",包含了"+count+"个幸运数字"+n+"。");}

②LuckNumCount

private static int LuckNumCount(int m, int n, int k) {String TenToMK = ToM(k,m);//转换return countOc(TenToMK,n);//计数}

③ToM

private static String ToM(int k, int m) {StringBuilder ToMExpression = new StringBuilder();while (k > 0) {int remainder = k % m;ToMExpression.insert(0, remainder); // 插入到字符串的开头k /= m;}return ToMExpression.toString();}

④countOc

private static int countOc(String tenToMK, int n) {String luckNum = Integer.toString(n);int count = 0;for (char ch : tenToMK.toCharArray()){if (ch == luckNum.charAt(0)){count++;}}return count;}

三、运行结果

1.运行截图

2.带数据分析运行结果

请输入进制数m:
6
请输入幸运数字n(n<m)
3
请输入购买物品价值k:
1997

k0:1997
remainder:5
ToMexpression:5
k1:332

k0:332
remainder:2
ToMexpression:25
k1:55

k0:55
remainder:1
ToMexpression:125
k1:9

k0:9
remainder:3
ToMexpression:3125
k1:1

k0:1
remainder:1
ToMexpression:13125
k1:0

这次购物的价格1997,转换之后为:13125,包含了1个幸运数字3。

3.带数据分析完整代码

import java.util.Scanner;public class test36 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入进制数m:");int m = sc.nextInt();System.out.println("请输入幸运数字n(n<m)");int n = sc.nextInt();System.out.println("请输入购买物品价值k:");int k = sc.nextInt();//int m = 6;//int n = 3;//int k = 1997;int count = LuckNumCount(m,n,k);String hm = ToM( k, m);System.out.println("这次购物的价格"+k+",转换之后为:"+hm+",包含了"+count+"个幸运数字"+n+"。");}private static int LuckNumCount(int m, int n, int k) {String TenToMK = ToM(k,m);//转换return countOc(TenToMK,n);//计数}private static String ToM(int k, int m) {StringBuilder ToMExpression = new StringBuilder();while (k > 0) {System.out.println("k0:"+k);int remainder = k % m;System.out.println("remainder:"+remainder);ToMExpression.insert(0, remainder); // 插入到字符串的开头System.out.println("ToMexpression:"+ToMExpression);k /= m;System.out.println("k1:"+k);System.out.println();}return ToMExpression.toString();}private static int countOc(String tenToMK, int n) {String luckNum = Integer.toString(n);int count = 0;for (char ch : tenToMK.toCharArray()){if (ch == luckNum.charAt(0)){count++;}}return count;}
}

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

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

相关文章

【jvm】虚拟机栈是如何运行的

目录 1. 说明2. 栈的创建与线程绑定3. 栈帧的结构4. 栈帧的入栈与出栈5. 异常处理 1. 说明 1.虚拟机栈是Java程序运行时环境中的一个重要组成部分&#xff0c;它主要负责存储线程执行方法时的局部变量、操作数栈、动态链接、方法出口等信息。2.JVM虚拟机栈是Java程序运行时环境…

UE管理内容 —— FBX Asset Metadata Pipeline

随着实时3D制作大小和复杂程度的增加&#xff0c;以及构成现代制作流程的工具数量的不断增加&#xff0c;增加智能自动化来提高美术效率变得越发重要&#xff1b;这种智能自动化通常主要依靠元数据&#xff1a;有关资源的自定义数据&#xff0c;在项目中为资源赋予意义&#xf…

【Nginx】快速入门

概述 Nginx(engine x)是一个高性能的HTTP和反向代理web服务器。 特点是占有内存小&#xff0c;并发能力强&#xff0c;简单易配置&#xff0c;支持高达 50000 个并发连接数的响应。 作用 代理 正向代理&#xff1a; 反向代理&#xff1a; 负载均衡 Nginx提供的负载均衡策…

8.4 数据库基础技术-SQL

大数据 SQL语言 真题 1

I2C总线中的时钟延长和死锁

1. I2C总线的基本工作原理 I2C(Inter-Integrated Circuit)是一种用于在设备之间进行短距离通信的串行总线协议,常用于微控制器与外围设备(如传感器、存储器)之间的数据传输。I2C总线上有两条信号线: SDA(数据线):用于发送和接收数据。SCL(时钟线):由主设备控制,用…

07:极限-零点定理和介值定理

1、零点定理 定义&#xff1a;f(x)在[a, b]上连续&#xff0c;且f(a)f(b) <0.则存在 ξ ∈ \xi ∈ ξ∈[a,b],使 f ( ξ ) 0 f(\xi)0 f(ξ)0 1.1.介值定理&#xff08;最大最小值定理&#xff09; 定义&#xff1a;f(x)在[a,b]上连续&#xff0c;则f(x)在[a, b]上有最大…

[C语言]一、C语言基础

G:\Cpp\C语言精讲 1. C语言入门 1.1 初识计算机语言 计算机编程语言&#xff0c;就是人与计算机交流的方式。人们可以使用编程语言对计算机下达命令&#xff0c;让计算机完成人们需要的功能。 计算机语言有很多种。如&#xff1a;C 、C、Java、Go、JavaScript、Python&#x…

21.3 Netty终章

21.3 Netty终章 一. 聊天消息1. 发送消息给某用户多端设备2. 多端同步自己的消息2.1 `UserChannelSession`会话管理2.2 `WSHandler`中处理本人的消息同步2.3 表情类型消息收发二.====================================================一. 聊天消息 1. 发送消息给某用户多端设…

【Spring】初识Spring MVC

文章目录 前言一、MVC是什么&#xff1f;二、学习Spring MVC建立连接RequestMapping注解注解的使用细节 三、传递参数的情况传递单个参数1.传递String2.传递包装类/基本类型3.参数重命名(RequestParam) 传递多个参数传递对象传递数组传递集合参数为变量传递文件小细节 四、JSON…

【数据结构篇】~二叉树(堆)

【数据结构篇】~二叉树&#xff08;堆&#xff09; 二叉树1.树2.树的组成3.二叉树4.堆1.向上调整算法2.向下调整算法3.堆排序 4.topk问题源码 二叉树 1.树 树的概念与结构​ 树是一种非线性的数据结构&#xff0c;它是由 n&#xff08;n>0&#xff09; 个有限结点组成一个…

Redis管道(Pipeline)

Pipeline是为了解决RTT&#xff0c;仅仅是将命令打包一次性发送&#xff0c;对整个Redis的执行不造成其它任何影响。是批处理命令变种优化措施&#xff0c;类似Redis的原生批命令&#xff08;如mset和mget&#xff09;。 问题由来 Redis是一种基于客户端-服务端模型以及请求/响…

【机器学习】特征工程的基本概念以及LASSO回归和主成分分析优化方法

引言 特征工程是机器学习中的一个关键步骤&#xff0c;它涉及到从原始数据中提取和构造新的特征&#xff0c;以提高模型的性能和预测能力LASSO&#xff08;Least Absolute Shrinkage and Selection Operator&#xff09;回归是一种用于回归分析的线性模型&#xff0c;它通过引入…

Spring中事务传播机制

Spring事务传播机制是指在一个事务方法调用另一个事务方法时&#xff0c;Spring如何管理这些方法之间的事务边界。Spring在TransactionDefinition接口中定义了七种事务传播行为&#xff0c;以满足不同的业务需求。以下是对这七种传播机制的详细解释及举例说明&#xff1a; 1. …

Java力扣练习

需求&#xff1a; 给你两个字符串s和t&#xff0c;每个字符串中的字符都不重复&#xff0c;且t是s的一个排列。 排列差定义为s和t中每个字符在两个字符串中位置的绝对差值之和 返回s和t之间的排列差 solution package JavaExercise20240824;public class JavaExercise1 {publ…

HTTP 之 HTTP/1.0、HTTP/1.1和HTTP2的缓存策略(六)

HTTP/1.0 缓存策略&#xff1a; Expires 头部&#xff1a;HTTP/1.0 使用 Expires 头部来指定资源的过期时间。浏览器将根据这个时间来判断是否需要从服务器重新获取资源。 Pragma 头部&#xff1a;Pragma: no-cache 用于告诉浏览器或代理服务器不要使用本地缓存的版本。 HTTP…

【以太坊基础】以太坊的基本概念与工作原理

以太坊基础 以太坊的基本概念与工作原理 引言 以太坊&#xff08;Ethereum&#xff09;是继比特币之后&#xff0c;最受关注的区块链平台。它不仅仅是一种加密货币&#xff0c;而是一个支持去中心化应用&#xff08;dApps&#xff09;和智能合约的平台。本文将深入探讨以太坊…

leetcode刷题之二分算法

目录 简介 第一个错误的版本 算法思路 代码实现 两个数组的交集 算法思路 代码实现 两个数组的交集2 算法思路 代码实现 有效的完全平方数 算法思路 代码实现 猜数字大小 算法思路 代码实现 排列硬币 算法思路 代码实现 寻找比目标字母大的最小字母 代码实…

深入理解C++中的协程(Coroutines):概念与使用

深入理解C中的协程&#xff08;Coroutines&#xff09;&#xff1a;概念与使用 在现代编程中&#xff0c;协程&#xff08;coroutines&#xff09;是一种强大的异步编程工具&#xff0c;它允许我们以更简洁和可读的方式编写异步代码。C20引入了协程的概念&#xff0c;使得C程序…

Redis系列之事务

概述 Redis事务提供一种将多个命令打包&#xff0c;然后一次性、按顺序地执行的机制&#xff0c;在事务执行的期间不会主动中断&#xff0c;服务器在执行完事务中的所有命令之后&#xff0c;才会继续处理其他客户端的其他命令。 三个重要的保证&#xff1a; 批量操作在发送E…

[Algorithm][贪心][跳跃游戏][加油站][单调递增的数字][坏了的计算器]详细讲解

目录 1.跳跃游戏1.题目链接2.算法思路详解3.代码实现 2.加油站1.题目链接2.算法原理详解3.代码实现 3.单调递增的数字1.题目链接2.算法原理详解3.代码实现 4.坏了的计算器1.代码实现2.算法原理详解3.代码实现 1.跳跃游戏 1.题目链接 跳跃游戏 2.算法思路详解 贪心&#xff1…