华为OD机试真题 Python 实现【数字加减游戏】【2023Q1 200分】,附详细解题思路

news2024/7/4 5:11:54

在这里插入图片描述

一、题目描述

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

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

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

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

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

二、输入描述

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

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

三、输出描述

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

四、解题思路

  1. 读取输入的四个正整数(s, t, a, b)。
  2. 定义变量sum,用于统计使用了多少次a。
  3. 定义变量add和sub,分别初始化为s,用于记录加法和减法的结果。
  4. 进入循环,直到满足跳出循环的条件。
    • 如果(t - add)除以b的余数等于0,说明通过加法可以得到t,跳出循环。
    • 如果(t - sub)除以b的余数等于0,说明通过减法可以得到t,跳出循环。
    • 否则,继续进行加法和减法运算。
      • add加上a。
      • sub减去a。
      • sum加1。
  5. 输出sum。

五、Python算法源码

def calculate_min_operations(s, t, a, b):
    sum = 0
    add = s
    sub = s

    while True:
        if (t - add) % b == 0:
            break
        if (t - sub) % b == 0:
            break
        add += a
        sub -= a
        sum += 1

    return sum


六、效果展示

1、输入

1 15 2 5

2、输出

2

3、说明

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

在这里插入图片描述



🏆下一篇:华为OD机试真题 Python 实现【相对开音节】【2022Q4 100分】,附详细解题思路

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

每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

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

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

相关文章

vue-esign签字板,鼠标写名,支持PC\移动端,返回base64或者file格式的文件流vue vue-esign签字插件

开源地址: 示例DEMO vue里实现鼠标签名,支持PC\移动端,返回base64或者file格式的文件流 1 、安装插件 vue-esign npm install vue-esign --save2、在main.js引用 import vueEsign from vue-esign Vue.use(vueEsign)3、页面中使用 <template><div><el-card cla…

【有奖体验】这个 AI 智能回答,就一个字“绝”!

立即体验基于函数计算部署【文生文】一键部署 ChatYuan 模型&#xff1a; https://developer.aliyun.com/topic/aigc_fc 人工智能生成内容&#xff08;Artificial Intelligence Generated Content&#xff0c;简称 AIGC&#xff09;是当下最火的概念之一。AIGC 被认为是继专业…

iMazing 2.16官方下载使用起来安全吗?

鉴于苹果设备的封闭性与安全性&#xff0c;我们大部分情况下都需要搭配iTunes进行设备的管理。但作为一款全方位的iOS设备管理软件&#xff0c;iMazing竟然可以突破iTunes的限制&#xff0c;与设备直接连接&#xff0c;进行备份、管理等操作。 因此&#xff0c;很多人都会有疑…

Python中怎么清屏

文章目录 一、“Windows命令行窗口”下清屏二、在IDLE下清屏三、后记结语 一、“Windows命令行窗口”下清屏 “Windows命令行窗口”下清屏&#xff0c;可用下面两种方法&#xff1a; 第一种方法&#xff0c;在命令行窗口输入&#xff1a; import os ios.system("cls&qu…

【数据结构】栈和队列(栈篇)

目录 1.栈的概念及结构 2.栈的实现 2.1栈的结构体定义 2.2栈的常用接口函数 &#x1f43e;栈的初始化 &#x1f43e;插入数据 &#x1f43e;删除数据 &#x1f43e;取栈顶元素 &#x1f43e;判断栈是否为空 &#x1f43e;计算栈的大小 &#x1f43e;栈的销毁 2.3完…

【机器学习】基于t-SNE数据可视化工程

一、说明 t-SNE (t-Distributed Stochastic Neighbor Embedding)是一种常用的非线性降维技术。它可以将高维数据映射到一个低维空间(通常是2D或3D)来便于可视化。Scikit-learn API提供TSNE类,以使用T-SNE方法可视化数据。在本教程中,我们将简要学习如何在 Python 中使用 TS…

java投票管理系统小程序

投票管理系统小程序 演示视频 技术&#xff1a; 基于springbootvue小程序的投票管理系统的设计与实现 运行环境&#xff1a; JAVA版本&#xff1a;JDK1.8 IDE类型&#xff1a;IDEA、Eclipse都可运行 微信开发这工具 数据库类型&#xff1a;MySql&#xff08;8.x版本都可&am…

Spark窗口函数的原理

如下几个概念&#xff1a; 批处理时间-每个批次处理数据的时间 窗口时间间隔-窗口长度&#xff0c;是一个抽象的时间概念&#xff0c;可以表示一个窗口下有多少个批次的数据&#xff08;再次封装&#xff09;需要处理&#xff0c;故必须是批处理时间的整数倍 滑动窗口时间间…

从小白到大神之路之学习运维第48天---第三阶段----mysql数据库的主从复制和读写分离

第三阶段基础 时 间&#xff1a;2023年6月28日 参加人&#xff1a;全班人员 内 容&#xff1a; mysql主从复制和读写分离 目录 一、mysql基础 &#xff08;一&#xff09;优点&#xff1a; &#xff08;二&#xff09;类型&#xff1a; &#xff08;三&#xff09;支…

【Spring】— Spring MVC复杂数据绑定

目录 复杂数据绑定1.绑定数组2.绑定集合 复杂数据绑定 实际项目开发中&#xff0c;除了简单数据类型外&#xff0c;还会经常遇到一些比较复杂的数据绑定问题&#xff0c;比如数组的绑定、集合的绑定&#xff0c;接下来将具体讲解一下数组绑定和集合绑定的使用。 1.绑定数组 …

白嫖福利?微软推出免费AI培训计划,助内容创作者实现自动化创作

据《IT之家》报道&#xff0c;微软今日宣布推出一项全新的免费AI培训计划&#xff0c;旨在帮助工作人员快速掌握AI技术的基本概念和应用。通过在线课程和证书&#xff0c;助力内容创作者实现更简单、自动化的内容创作。 作为微软的“技能培训计划”&#xff0c;微软旗下的领英&…

C# async await使用方法

运行界面&#xff1a; 代码部分&#xff1a; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using …

基于 VORS、CCDM 模型、GeoDetector、GWR模型集成技术在城镇化与生态系统健康空间关系分析及影响效应中实践应用

城市群是一国经济发展水平的象征&#xff0c;也是一国经济发展到一定阶段的标志&#xff0c;我国城市群建设体量不断增加&#xff0c;将成为全球经济的核心&#xff0c;中国城市群的建设逐步引领全球进入到了21世纪的中国新时代。然而&#xff0c;高速的城镇化发展&#xff0c;…

Diffusion详细学习

解决报错 https://zhuanlan.zhihu.com/p/622238031 原理&#xff1a;https://zhuanlan.zhihu.com/p/612854566 解决内存溢出问题 溢出问题 总结下来&#xff1a;batch_size 和 n_samples 调节 原理学习 扩散模型是一种生成模型&#xff0c;用于生成与训练数据相似的数据。…

Swift 5.9 有哪些新特性(二)

文章目录 前言Noncopyable 结构体和枚举结束变量绑定的生命周期makeStream() 方法添加 sleep(for:) 到 ClockDiscarding task groups总结 前言 虽然 Swift 6 已经在地平线上浮现&#xff0c;但 5.x 版本仍然有很多新功能-更简单的 if 和 switch 用法、宏、非可复制类型、自定义…

(二十四)专题地图编制——制图数据操作

专题地图编制——制图数据操作 目录 专题地图编制——制图数据操作 1.复制地图数据框2.旋转制图数据框3.绘制坐标网格3.1经纬网3.2方里格网3.3参考格网 1.复制地图数据框 要复制地图数据框&#xff0c;请按照以下步骤操作&#xff1a; ①在 ArcMap 中打开地图文档。 ②在“表…

图片怎么转换成PDF格式?学会这些方法轻松转换

将多张图片合并成一个PDF文件&#xff0c;方便用户阅读和管理&#xff0c;避免了多个图片文件的混乱。并且PDF文件可以设置密码保护&#xff0c;避免图片被未经授权的人员查看、复制和编辑。此外&#xff0c;PDF文件可以设置禁止打印和禁止复制等权限&#xff0c;增强图片的安全…

mysql exists深入理解

前言&#xff1a; 某天用exists语句时发现跟我的理解有出入&#xff0c;我以前理解的exists是子查询的结果不会影响最终返回的结果&#xff0c;只要子查询查到有结果&#xff0c;则返回true,没有则返回false。即下面图中的sql&#xff0c;只要house_appraisal不是空表&#xf…

Android中实现Material3主题

Android中实现Material3主题 Material 3是由Google引入的一种设计系统&#xff0c;通过采用一套设计原则、指南和组件&#xff0c;提供统一直观的用户体验。 在本篇文章中&#xff0c;您将学习如何&#xff1a; 在您的Android应用程序中应用Material 3主题。如何使用Materia…

10.1寸工业三防平板应用于工业自动化生产

随着工业自动化的不断发展&#xff0c;工业生产中对于设备的要求也越来越高。在恶劣的工作环境中&#xff0c;工业设备需要具备防尘、防水、防震等功能&#xff0c;以确保设备的稳定运行和长期使用。10.1寸工业三防平板作为一种重要的工业自动化设备&#xff0c;广泛应用于各个…