第六章 数学问题 -------- 6.7【扩展欧几里得】一步之遥

第七届蓝桥杯【国赛试题1】一步之遥 Problem Description 从昏迷中醒来,小明发现自己被关在X星球的废矿车里。 矿车停在平直的废弃的轨道上。 他的面前是两个按钮,分别写着“F”和“B”。 小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。 按F,会前进97米。按B会后退127米。 透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。 他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的 阅读详情

题目:

一步之遥
从昏迷中醒来,小明发现自己被关在X星球的废矿车里。 
矿车停在平直的废弃的轨道上。 
他的面前是两个按钮,分别写着“F”和“B”。
小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。 
按F,会前进97米。按B会后退127米。 
透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。 
他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的援助。 
或许,通过多次操作F和B可以办到。
矿车上的动力已经不太足,黄色的警示灯在默默闪烁… 
每次进行 F 或 B 操作都会消耗一定的能量。 
小明飞快地计算,至少要多少次操作,才能把矿车准确地停在前方1米远的地方。
请填写为了达成目标,最少需要操作的次数。
注意,需要提交的是一个整数,不要填写任何无关内容(比如:解释说明等)

思路:

暴力搜索或者扩展欧几里得算法( 97x-127y=1  ax+by=m )。

代码:

public class 一步之遥 {

    public static void main(String[] args) {
        // 解法一  扩展欧几里得算法
        try {
            long ans = ExtGcd.linearEquation(97, -127, 1);
            long x = ExtGcd.x;
            long y = ExtGcd.y;
            System.out.println(Math.abs(x) + Math.abs(y));   // 正确答案 97
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        // 解法二 暴力搜索
        for (int i = 0; i < 100; i++) {
            for (int j = 0; j < 100; j++) {
                if (97*i - 127*j == 1) {
                    System.out.println(Math.abs(i) + Math.abs(j));  // 正确答案 97
                    break;
                }
            }
        }
        
    }
    
    // 私有的静态的内部类
    private static class ExtGcd{
        static long x,y;
        
        public static long ext_gcd(long a,long b){
            if (b==0) {
                x = 1;
                y = 0;
                return a;
            }
            long res = ext_gcd(b, a%b);
            long x1 = x;
            x = y;
            y = x1-a/b*y;
            return res;
        }
        
        public static long linearEquation(long a,long b,long m) throws Exception{
            long d = ext_gcd(a, b);
            if(m%d!=0) throw new Exception("无解");
            long n = m / d;
            x *= n;
            y *= n;
            return d;
        }
    }

}

 

第六章 数学(三) ACwing 885排列组合公式Cab=a!b!(a−b)!\mathrm{C}_a^b = \frac{a!}{b!(a-b)!} Cab​=b!(a−b)!a!​因为a, b∈[1,2000]a,\space b \in[1, 2000]a, b∈[1,2000],所以不同的方案数为max(a×b)=4×106max(a \times b) = 4 \times 10^6max(a×b)=4×106种,因此可以直接递推处理Cab\mathrm{C}_a^bCab​的值。递推式为Cab=Ca−1b+Ca− 阅读详情

相关推荐

手把手教你用DSP28335的PWM移相功能搞定双有源桥DAB(附完整代码)

本文详细解析了DSP28335的PWM移相功能在双有源桥DAB中的应用,包括ePWM模块的配置、移相时序原理及实战代码。通过精确的移相控制,实现DAB的高效运行和软开关,适用于车载充电机、储能系统等场景。附完整代码,助力开发者快速掌握硬件级移相技术。

weixin_30632089的博客 423

蓝桥杯考试 一步之遥 欧几里得的扩展

题目 从昏迷中醒来,小明发现自己被关在X星球的废矿车里。 矿车停在平直的废弃的轨道上。 他的面前是两个按钮,分别写着“F”和“B”。 小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。 按F,会前进97米。按B会后退127米。 透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。 他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的援助。 或许,通过多次操

cairuojin的博客 372

ResNet与注意力机制:深度学习中的强强联合

本文详细介绍了ResNet和注意力机制的基本原理,并探讨了如何将两者结合,以提升网络的性能。通过在ResNet中引入注意力机制,网络可以自适应地调整特征图的重要性,从而更加关注于关键区域,提升模型的性能。实验结果表明,引入注意力机制后,ResNet的性能得到了显著提升。未来,随着注意力机制的不断发展,我们可以期待更多创新的网络架构和训练方法,进一步提升深度学习模型的性能。

2401_82355416的博客 1783

7.1一步之遥

从昏迷中醒来,小明发现自己被关在X星球的废矿车里。 矿车停在平直的废弃的轨道上。 他的面前是两个按钮,分别写着“F”和“B”。 小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。 按F,会前进97米。按B会后退127米。 透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。 他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的援助。 或许,通过多次操作F和B可以办到。 矿...

我在浪里 357

mbedtls | 01 - 移植mbedtls库到STM32的两种方法

一、mbedtls 开源库 1. mbedtls是什么 Mbed TLS是一个开源、可移植、易于使用、代码可读性高的SSL库。可实现加密原语,X.509证书操作以及SSL / TLS和 DTLS 协议,它的代码占用空间小,非常适合用于嵌入式系统。 mbedtls遵循 Apache 2.0 开源许可协议,目前由 TrustedFirmware 维护(Linaro主持的一个治理开放社区项目),在Github上已收获 2.6k star,目前Github上发布的最新版本为 2.24.0 版本,开源仓库地址为:

Mculover666的博客(嵌入式) 1万+

【STK】手把手教你利用STK进行导弹和反导仿真04 - STK/MMT模块03 导弹飞行工具应用案例

飞行设置的工具栏就在附加窗口的中间,首先点击左边的General,修改这个项目的名字。然后在下拉的System中选择导弹的类型,这里我们选择远程。(4)输出数据文件到STK,任务窗口里选择Export Manager项,飞行数据输出到STK。项目可以命名为Test;(1)首先建立新项目,点击Flight菜单中的New Flight选项,见下图。首先看世界地图中间的红圈,是一个导弹形状的图标,这个图标表示的是导弹的发射点。选择下面的Export Manager,依次勾选红框的选项。我们拖动这个导弹的图标,

weixin_44184852的博客 1631

数据挖掘在人力资源分析中的实战案例

在当今竞争激烈的商业环境中,人力资源管理对于企业的成功至关重要。有效的人力资源管理能够提高员工绩效、降低员工流失率、优化人才招聘等。而数据挖掘技术为人力资源管理提供了强大的工具,通过对大量人力资源数据的分析,可以发现潜在的规律和模式,为企业的决策提供有力支持。本文的目的是通过实际案例展示数据挖掘在人力资源分析中的具体应用,涵盖员工绩效预测、人才招聘筛选、员工流失分析等多个方面。通过详细的案例分析,帮助读者理解数据挖掘技术在人力资源管理中的实际操作和应用价值。

移动开发前沿的博客 489

7-C-B-1-一步之遥

一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里。 矿车停在平直的废弃的轨道上。 他的面前是两个按钮,分别写着“F”和“B”。 小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。 按F,会前进97米。按B会后退127米。 透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。 他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的援助。 或许,通过多次操作F和B可以办到...

tianrandai12的博客 394

【史上最全面esp32教程】网络篇和tcp/ip的使用

ESP32史上最全面wifi和tcp/ip连接及示例程序

m0_62599305的博客 9526

海上风电经柔性直流送出系统的阻抗建模与稳定性分析

摘要 本文针对海上风电经柔性直流送出系统的稳定性问题,提出了一种基于阻抗建模的分析方法。研究建立了直驱永磁同步发电机(PMSG)的序阻抗解析模型和模块化多电平换流器(MMC)的交流侧小信号阻抗模型,通过Matlab/Simulink平台实现了完整的仿真验证系统。采用谐波线性化原理和端口阻抗分析法,揭示了风电机组与柔直换流器之间的阻抗匹配特性对系统稳定性的影响规律。研究结果表明,控制参数设置会显著改变系统阻抗特性,进而影响稳定裕度。文中提出的阻抗建模方法为分析海上风电柔直送出系统的宽频振荡问题提供了有效工具,

huanghm88的专栏 233

第六章 数学问题 -------- 6.10 特殊的同余方程—逆元

逆元:   同余方程 ax≡1(modn),gcd(a,n) = 1 时有解,这时称求出的 x 为 a 的对模n的乘法逆元。(注意:如果gcd(a,n)如果不等于1则无解),解法还是利用扩展欧几里得算法求解方程 ax + ny = 1 求出 x。 /** * 求逆元 * ax = 1 (% mo),gcd(a,mo)=1 * ax+mo*y=1 * ...

Curtis’Blog 382

化工设计软件:PDMS二次开发_(7).数据导入与导出技术

在某些复杂场景下,PDMS提供的标准API接口可能无法满足需求。此时,可以通过自定义API接口来实现特定的数据导入与导出功能。自定义设备导入API接口可以处理更复杂的设备数据格式。# 导入必要的库import pdms_api # 假设有一个PDMS API库# 定义自定义设备数据# 自定义设备导入API接口# 调用自定义设备导入API接口# 输出导入成功的消息print("自定义设备数据导入成功")在PDMS二次开发中,数据的导入与导出是关键的技术环节。

kkchenjj的博客 1487

第六章 数学问题 -------- 6.9 天平称重问题【线性同余方程】青蛙的约会

模运算:   取模:计算除以m的余数,叫做对m取模   同余:将a,b对m取模的结果相同,记为a≡b(modm)(例如:x % 3 = 2 ===> x ≡ 2(%3),x余3等于2,和2同余),即 a mod m == b mod m 如果 a≡b(modm),且c≡d(modm),则有a+b≡c+d(modm) a*b≡c*d(mo...

Curtis’Blog 808

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

第六章--基本数学问题

-3,-1 负数表示 放在天平左边 —————————————————————————————————————————— 思路:将给定的重量,转为三进制,把所有的 2 全部进一位,再减去 1,比如 7,就是21,2的位置进一位就是101,原位置上减去 1 就是 1,-1, 1 就是 32,-31, 30 ,也就是 9,-3,1 import java.util.ArrayList; impor...

QinLaoDeMaChu的博客 276

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

第六章 数学问题(上)

1、巧用进制 用天平称重时,我们希望用尽可能少的砝码组合称出尽可能多的重量。 如果只有5个砝码,重量分别是1,3,9,27,81 则它们可以组合称出1到121之间任意整数重量(砝码允许放在左右两个盘中)。 本题目要求编程实现:对用户给定的重量,给出砝码组合方案。 例如: 用户输入: 5 程序输出: 9-3-1 用户输入: 19 程序输出: 27-9+1 要求程序输出的组合总是大数在前小数...

h_666666的博客 377

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

第六章 数学(二)

互质:公因数只有111的两个非零自然数,叫做互质数。欧拉函数的定义:1∼N1∼N1∼N中与NNN互质的数的个数被称为欧拉函数,记为ϕ(N)\phi(N)ϕ(N)。由算数基本定理中,N=P1α1⋅P2α2⋅⋅⋅PkαkN = P_1^{\alpha_1}·P_2^{\alpha_2}···P_k^{\alpha_k}N=P1α1​​⋅P2α2​​⋅⋅⋅Pkαk​​,则ϕ(N)=N×P1−1P1×P2−1P2×...×Pk−1Pk\phi(N) = N \times \frac{P_1 - 1}{P_1} \t

lumoumou`s blogs 549

第六章 数学问题 -------- 6.5 欧几里得算法及其扩展

先来看看欧几里得算法: public class Gcd { /** * 欧几里德算法,即辗转相除法 最大公约数 */ public static long gcd(long m, long n) { return n == 0 ? m : gcd(n, m % n); } /** * 最小公倍数lowest co...

Curtis’Blog 306

《数论概论》读书笔记 第6章 线性方程与最大公约数

这章讲的就是欧几里得算法和exgcdexgcd。 原式: ax+by=gcd(a,b)ax+by=gcd(a,b)(假设a≥ba≥b) 当 b=0b=0 时有 gcd(a,b)=agcd(a,b)=a,此时 x=1,y=0x=1,y=0 当 bb 不为 00 时,根据欧几里得定理 gcd(a,b)=gcd(b,a%b)gcd(a,b)=gcd(b,a\%b) 可得ax+by=gcd(a,b)=

LzyRapX 1万+

具体数学 第四章总结

  先发出第四章的总结是因为发现自己对数论更感兴趣些,所以选择了这章先读。本章难度不小,我这次只看了前6小节后面3个小节暂时不看,以后回过头来在看了。   4.1 整除性   本章最重要的定理便是扩展欧几里得,后面多次用到。   4.2 质数   这章让我充分认识到质数的重要性,以及它作为数论基石的原因。   4.3 质数举例   此节重点当然是质数的无穷性以...

weixin_30610755的博客 316

RSA共模攻击笔记

RSA共模攻击是利用多个用户使用相同模数n时可能存在的安全漏洞。攻击者通过监听不同公钥加密的同一明文密文(C₁,C₂),在e₁和e₂互质条件下,利用扩展欧几里得算法求得s₁和s₂满足e₁s₁+e₂s₂=1。通过计算C₁^s₁·C₂^s₂ mod n即可恢复明文m。防御措施包括确保每个用户使用独立模数、定期更换密钥以及避免模数复用。该攻击揭示了RSA实现中统一模数带来的重大安全隐患。

TKXS 532

数论概论笔记 第6章 线性方程与最大公因数

定理:形如 ax + by 的二元整数式的最小正整数等于 gcd(a, b),证明略; 由欧几里得算法,有: a = q1 * b + r1 r1 = a - q1 * b b = q2 * r1 + r2 r2 = b - q2 * r1 = -q2 * a + (1 + q1 * q2) * b r1 = q3 * r2 + r3 r3 = r1

观云斋 834

ASP.NET实现RSA加密算法可视化系统:从原理到工程实践

加密算法是信息安全领域的核心技术,其原理涉及复杂的数学运算,如大数分解和模幂运算。RSA作为经典的非对称加密算法,广泛应用于数字签名和密钥交换等场景。理解其背后的欧拉函数、模逆元等概念,对于计算机和信息安全专业的学习至关重要。通过工程实践将算法可视化,能够动态展示密钥生成、加密与解密的每一步,将抽象理论转化为直观的交互操作。本文基于ASP.NET与C#技术栈,探讨如何构建一个完整的RSA算法可视化教学系统,涵盖扩展欧几里得算法、快速模幂运算等核心实现,并结合前端交互设计,为密码学学习与毕业设计提供实用参考。

congji3817的博客 436

数论

数论知识汇总

qq_44290978的博客 1160

算法基础 笔记

目录特殊知识:C++ STL第一章 基础算法1 排序1.1 快速排序1.2 归并排序2 二分2.1 整数二分2.2浮点数二分3 高精度3.1 高精度加法3.2 高精度减法3.3 高精度乘法(高精度乘以低精度)3.4高精度除法(高精度除以低精度)4 前缀和 和 差分4.1 前缀和4.2 差分5 双指针算法6 位运算7 离散化8 区间合并第二章 数据结构1 链表1.1 单链表1.2 双链表2 栈2.1 模拟栈2.2 单调栈3 队列3.1 模拟普通队列3.2 模拟循环队列3.3 单调队列4 KMP5 Trie树代

m0_61409183的博客 811

【算法入门到进阶】【学习目录】

2022-1-10 文章目录2022-1-10文章说明第三章 STL和基本数据结构3.1 容器3.1.1 vector3.1.2 栈 和 stack3.1.3 队列 和 queue3.1.4 优先队列 和 priority_queue3.1.5 链表 和 list3.1.6 set3.1.7 map3.2 sort()3.3 next_permutation()第四章 搜索技术4.1 递归和排列4.2 子集生成和组合问题4.3 BFS4.3.1 BFS 和 队列4.3.2 八数码问题和状态图搜索4.3.3

eternity_memory的博客 5416
上一篇: 第六章 数学问题 -------- 6.5 欧几里得算法及其扩展
下一篇: 第六章 数学问题 -------- 6.9 天平称重问题【线性同余方程】青蛙的约会
Estrellas_
博客等级 码龄9年 273粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值