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

校园活动策划站群seo

校园活动策划,站群seo,用 可以做网站软件吗,酒店网络营销方案ppt2025 A卷 200分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

在这里插入图片描述

2025 A卷 200分 题型

本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式;
并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析;
本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分享》

华为OD机试真题《数字加减游戏》:


文章快捷目录

题目描述及说明

Java

python

JavaScript

C

GO


题目名称:数字加减游戏


  • 知识点:数学(模运算、枚举)
  • 时间限制:1秒
  • 空间限制:256MB
  • 限定语言:不限

题目描述

小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字 s 变成数字 t。每个回合,小明可以用当前的数字加上或减去一个数字。现在有两种数字可以用来加减,分别为 aba ≠ b),其中 b 没有使用次数限制,而 a 的使用次数需最小化。
请问小明最少需要用多少次 a,才能将数字 s 变成数字 t?题目保证 s 一定能变成 t

输入描述

输入的唯一一行包含四个正整数 s, t, a, b(1 ≤ s, t, a, b ≤ 10^5,且 a ≠ b)。

输出描述

输出的唯一一行包含一个整数,表示最少需要使用 a 的次数。

示例

输入

1 10 5 2  

输出

1  

说明:初始值 1 加一次 a 变成 6,然后加两次 b 变为 10,因此 a 的使用次数为 1 次。


Java

问题分析

小明需要通过加减操作将数字 s 变成 t,使用两种数字 a 和 b,其中 a 的使用次数需最小化。我们需要找到最少使用 a 的次数。


解题思路

  1. 差值计算:计算目标差值 d = |t - s|。
  2. 直接使用 b:如果 d 能被 b 整除,则无需使用 a。
  3. 模运算与贪心策略:若不能直接使用 b,则通过模运算和扩展欧几里得算法找到满足条件的最小 a 使用次数。
    • 将问题转化为求线性同余方程,找到满足条件的最小正整数解。
    • 使用扩展欧几里得算法求模逆元,调整解的范围以得到最小绝对值。

代码实现

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int s = sc.nextInt();int t = sc.nextInt();int a = sc.nextInt();int b = sc.nextInt();int d = Math.abs(t - s);if (d == 0) {System.out.println(0);return;}if (d % b == 0) {System.out.println(0);return;}int g = gcd(a, b);if (d % g != 0) {System.out.println(0);return;}int aDivG = a / g;int bDivG = b / g;int dDivG = d / g;int inv;try {inv = modInverse(aDivG, bDivG);} catch (ArithmeticException e) {System.out.println(0);return;}int x0 = (dDivG * inv) % bDivG;int mod = bDivG;x0 = (x0 % mod + mod) % mod;if (x0 > mod / 2) {x0 -= mod;}int k = Math.abs(x0);System.out.println(k);}private static int gcd(int a, int b) {return b == 0 ? a : gcd(b, a % b);}private static int modInverse(int a, int m) {int[] res = extendedGcd(a, m);if (res[0] != 1) {throw new ArithmeticException("逆元不存在");}int x = res[1];return (x % m + m) % m;}private static int[] extendedGcd(int a, int b) {if (b == 0) {return new int[]{a, 1, 0};} else {int[] res = extendedGcd(b, a % b);int gcd = res[0], x1 = res[1], y1 = res[2];int x = y1;int y = x1 - (a / b) * y1;return new int[]{gcd, x, y};}}
}

代码详解

  1. 输入处理:读取 s, t, a, b,计算差值 d = |t - s|。
  2. 直接返回条件:若差值为0或能被 b 整除,直接返回0。
  3. 最大公约数:计算 a 和 b 的最大公约数 g。
  4. 模逆元计算:使用扩展欧几里得算法求 a/g 在模 b/g 下的逆元。
  5. 调整解范围:将解调整到模的对称范围,确保绝对值最小。
  6. 输出结果:计算并输出最小的 a 使用次数。

<
http://www.dtcms.com/wzjs/494094.html

相关文章:

  • 武汉专业网站建设官网社会新闻热点事件
  • 建设网站里的会员系统网站收录查询站长工具
  • 三亚网站推广团队优化神马排名软件
  • 佳木斯网站建设sem是什么职业岗位
  • 网站在正在建设中武汉网站运营专业乐云seo
  • 最新项目加盟代理seo 排名 优化
  • 一个主机可以放几个网站北京线上教学
  • 做剧情网站侵权吗苹果cms播放器
  • 如何建立新的企业网站seo公司运营
  • 小程序开发公司简介范本站长工具的使用seo综合查询排名
  • 制作网站时搜索图标如何做免费刷网站百度关键词
  • 0基础做网站工具关键词推广是什么意思
  • 微信小商店分销功能专业优化网站排名
  • 网站建设经厦门seo排名优化
  • 上海专业做网站建设公司扬州整站seo
  • 网站怎么发布到服务器搜索引擎seo如何赚钱
  • 深圳代做网站后台网站搭建需要什么技术
  • 网站怎么访问自己做的网页中央电视台新闻联播
  • 保定集团网站建设qq推广官网
  • 效果好的免费网站建设网站发布
  • 适合女生的计算机专业有哪些seoul是韩国哪个城市
  • 论坛创建汕头seo优化项目
  • 软件工程 旅游网站开发er图经典网络营销案例
  • 做网站月入1000哈尔滨关键词排名工具
  • 菏泽去哪了做网站软文营销网
  • 深圳公司注册官网seo兼职接单平台
  • 网页qq登陆聊天网络快速排名优化方法
  • 深圳 网站设计2020 惠州seo服务
  • 中国镇江网站磁力狗最佳搜索引擎
  • 江西网站建设站长工具seo排名