当前位置: 首页 > news >正文

华为OD机试真题 Java 实现【数字加减游戏】【2023Q1 200分】

在这里插入图片描述

一、题目描述

小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。

每个回合,小明可以用当前的数字加上或减去一个数字。

现在有两种数字可以用来加减,分别为a,其中b没有使用次数限制。

请问小明最少可以用多少次a,才能将数字s变成数字t。

题目保证数字s一定能变成数字t。

二、输入描述

输入一行,包含四个正整数(s t a b)。

1 <= s,t,a,b <= 105并且 a != b。

三、输出描述

输出的唯一一行包含一个整数,表示最少需要使用多少次a才能将数字s变成数字t。

四、Java算法源码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);/*** 通过加减运算,将s变为t。* 统计一下用到了多少次a,不用统计用多少次b。*/int[] arr = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();int s = arr[0];int t = arr[1];int a = arr[2];int b = arr[3];int sum = 0;// 统计用了多少次aint add = s;// 加int sub = s;// 减while (true) {if ((t - add) % b == 0) {break;}if ((t - sub) % b == 0) {break;}add += a;sub -= a;sum++;}System.out.println(sum);
}

五、效果展示

1、输入

1 15 2 5

2、输出

2

3、说明

初始值1加一次a变成3,再加一次a变为5,然后加两次b变为1,5,因此a的使用次数为2次。

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【获得完美走位】【2023Q1 100分】

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

http://www.lryc.cn/news/68988.html

相关文章:

  • Python: 结合多进程和 Asyncio 以提高性能
  • 只需要两步就能快速接入GPT
  • 使用Git-lfs上传超过100m的大文件到GitHub
  • 【网络】计算机中的网络
  • 什么是语音识别的语音助手?
  • 自己动手写一个加载器
  • C# 性能优化和Unity性能优化
  • 面试题背麻了,花3个月面过华为测开岗,拿个26K不过分吧?
  • 跟着我学 AI丨教育 + AI = 一对一教学
  • 1-动态规划算法理论基础
  • kafka延时队列内部应用简介
  • 【网络】HTTPHTTPS协议
  • 因子图优化
  • JVM 垃圾回收相关算法
  • [Bing Chat] 以某某这个数据结构 编一个故事 要求不能说出某某这个数据结构
  • 【算法】【算法杂谈】一种字符串和数字的对应关系
  • Java并发基础理论
  • ubuntu22.04静态ip设置(桥接模式、only-host+NAT模式)
  • 深度模型中的正则化、梯度裁剪、偏置初始化操作
  • 设计模式之装饰模式
  • 华为OD机试真题 Java 实现【最佳对手】【2023Q1 200分】
  • IOS证书制作教程
  • 【人工智能】蚁群算法(密恐勿入)
  • VONR排查指导分享
  • Daftart.ai:人工智能专辑封面生成器
  • ZigBee案例笔记 - 定时器
  • GE H201TI 全系统自检和自诊断
  • 这个屏幕录制太好用了!
  • 初识redis【redis的安装使用与卸载】
  • 接口测试总结及其用例设计方法整理,希望可以帮到你