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

同余&逆元简单总结 1. 同余 1. 同余的基本概念及性质 若xxx%m=am=am=a即m是 x-a 的一个因子, 则称x与a关于m同余,记作:x≡a(modm)x≡a(modm)x≡a(mod \;m) 同余基本性质: ○1. 自反性:a≡a(modm)a≡a(modm)a≡a(mod\;m) ○2. 对称性:a≡b(modm)−>b≡a(modm)a≡b(modm)−>b≡a(m 阅读详情

逆元:

  同余方程 ax≡1(mod n),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
     * */
    public static long inverseElement(long a, long mo) throws Exception {

      long d = linearEquation(a, mo, 1);//ax+mo*y=1
      x = (x % mo + mo) % mo;//保证x>0
      return d;
    }

题目:HDU-1576

  思路:

       设(A/B)%9973 = k, 则A/B = k + 9973x  (x未知), 因此A = kB + 9973xB,又A%9973 = n, 所以kB%9973 = n,  故kB = n + 9973y (y未知),故(k/n)B +(-y/n)*9973 = gcd(B,9973) = 1扩展欧几里得 求出k/n,  再乘以个n,记得取模,就是answer了。

  代码:

import java.util.Scanner;

/**
 * (A/B)%9973,求余,除法不满足交换性,可改为求B关于9973的逆元x,
 * 这样结果等价于Ax%9973等价于x*A%9973等价于xn%9973,
 */

public class HDU1576 {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int T = scanner.nextInt();
        for (int i = 0; i < T; i++) {
            int n = scanner.nextInt();
            int b = scanner.nextInt();
            try {
                MyGcd.inverseElement(b, 9973);
                long x = MyGcd.x;
                System.out.println(x*n%9973);
            } catch (Exception e) {
                // TODO: handle exception
            }
        }
    }

    private static class MyGcd{
        static long x;
        static long y;

        public static long gcd(long m, long n) {
            return n == 0 ? m : gcd(n, m % n);
        }

        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;
        }
        
        public static long inverseElement(long a, long mo) throws Exception {

            long d = linearEquation(a, mo, 1);// ax+mo*y=1
            x = (x % mo + mo) % mo;// 保证x>0
            return d;
        }
    }
}

  结果:

 

 

离散数学一些内容的整理 目录离散数学第二章 二元关系2.1 关系运算对种类的影响2.2 集合上能定义多少关系2.3 用==关系矩阵==计算复合关系2.4 求逆没有关系数量的变化2.5 等价关系:==自反、对称、传递==2.6 偏序关系:==自反、反对称、传递==第三章 代数系统的一般概念和性质3.1 运算3.2 代数系统3.3 同态3.4 同构第四章 典型代数系统4.1 半群4.2 群4.3 子群4.4 循环群与置换群4.5 拉格朗日定理4.6 环与域4.7 格与布尔代数第五章 图的一般概念和性质5.1 基本概念5.2 连通5.3 阅读详情

相关推荐

离散数学(2)考试重点整理

离散数学(2)考试重点整理 内含不该看到的东西

laineylxiouser的博客 4181

同余与逆元

【代码】同余与逆元。

〜( ̄△ ̄〜) yy 797

同余的性质及逆元

若gcd⁡an1gcdan1且满足ax≡1modpax≡1modp,则称xxx为aaa模bbb的乘法逆元,记作xa−1x=a^{-1}xa−1。所以 a 存在模 n 的逆元⇔⇔gcd⁡an1gcdan1。

yds_creator的博客 249

【数论】同余(二):逆元

数论,同余部分,逆元的概念、推导和求解

default111的博客 1295

算法基础课第六章。解决一些问题。

算法在于自己的实践,在于时间的积累。是一个漫长的过程。我们备战蓝桥杯一个多月的时间,我了解到了只是基础真正的算法高手都在练习算法,因为算法真的能让你的大脑思维提升。这只是我训练的八章成果。算法的在于你要有计算机语言去执行你要实现的功能。面向对象的思维思考问题。...

qq_56248592的博客 288

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 01

算法设计

weixin_49199313的博客 1503

数学---同余与逆元

同余在数论中非常实用,它用类似处理等式的方式来整除关系,非常简便。 1.同余 两个整数a,b和一个正整数m,如果 a 除以 m 所得的余数 和 b除以m所得的余数相等,即 a mod m =b mod m,称为 a和 b对于m同余,m称为同余的模。 同余的符号记为 a ≡ b( mod m)。 2.一元线性同余方程 ax ≡ b( mod m) ...

Mr顺 3431

Vector CANape的使用记录

开门见山,今天想和大家分享下CANape使用记录,分享原因是近日在分析一个客户现场软件问题时,需要用到CANape来实时的监测ECU中的变量,因为之前对CANape的认知比较浅薄,觉得标定工程师使用他就足够了,但是这次的经历让我觉得需要写点东西来记录自己学习并使用他的过程。 相信大家能够在网上找到很多关于如何使用CANape的文章,从新建Project到后面的数据的观测、保存以及回放等等。我个人也是这么学过来的,所以我不打算从那些方面着手去描述如何使用她,而是根据我的真实使用过程以及问题的抛出到如何解决来

2万+

【同余定理+逆元】知识点讲解

【同余的定义】: 【同余的主要性质】: 性质证明: 【逆元】 (1)定义: 【费马小引理求解逆元】: 代码实现: long long quickpow(long long a,long long b){ if(b&lt;0) return 0; long long ret=1; a%=mod; while(b){ if(b &amp; 1 ) re...

甜晨流年 2405

Calpuff模型实战:从气象数据预处理到污染物扩散模拟全流程指南

本文提供了一份详尽的Calpuff模型实战指南,涵盖从气象数据预处理、地形处理到污染物扩散模拟与结果可视化的全流程。重点解析了Calmet气象场构建、Calpuff核心参数配置,并与AERMOD模型进行对比,帮助环境工程师与科研人员掌握这一强大的三维非稳态拉格朗日扩散模型,以应对复杂地形、海岸熏烟等实际模拟挑战。

s4t5u6v7的博客 459

告别QXDM:在Android Studio中调试与验证高通NV读写功能的完整流程

本文详细介绍了在Android Studio中调试与验证高通NV分区读写功能的完整流程,替代传统的QXDM工具。通过JNI接口层、HAL服务层和Diag通信层的架构设计,开发者可以在熟悉的IDE环境中高效完成NV操作,包括环境配置、错误处理和性能优化等关键实践。

weixin_27013291的博客 261

第六章 数学问题 -------- 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

惊呆了!Oracle 11g从入门到放弃的保姆级指南(新手必看)

本文为Oracle 11g数据库新手提供了一份详尽的入门指南。内容涵盖从安装配置、SQL*Plus工具使用、核心的SQL增删改查操作,到事务、索引等进阶概念的解析。文章旨在帮助初学者避开常见陷阱,快速掌握这一经典关系型数据库管理系统的基本操作与核心技能,实现从入门到上手。

ooo22的博客 269

线性代数 第六章代数系统

f:S—>T 使得f(a*b)=f(a)#f(b),则称与同构,证明“f(a*b)=f(a)#f(b)”即为证明同构的方式。f:A—>A 使得f(a*b)=f(a)*f(b),则称与自同态。f:S—>T 使得f(a*b)=f(a)#f(b),则称与同态。f:A—>A 使得f(a*b)=f(a)*f(b),则称自同构。证明“f(a*b)=f(a)#f(b)”即为证明同构的方式。(左,右)可消去元(a*x=a*y=>x=y)

qq_45738761的博客 436

Vivado FIR Complier_IP核使用方法

文章依靠该IP核对应手册PG149写的,因为笔者需求简单,没有深入挖掘功能,可以自行下载学习。

2302_80180551的博客 3994

操作系统期末大题类型题解

额,OS主要这回考程序分析题,PV操作、生产者消费者啊,哲学家进餐问题,死锁问题啊,如何避免死锁,经典银行家算法,页面置换算法啥的,磁盘调度......总计还有很多,就不一一说了 PV操作 谈到PV操作,首先要了解什么是信号量,其实就是用来解决互斥与同步问题的,分为原语wait(S)和signal(S),也就是我们常说的PV操作,在这里给出王道上的概念 wait(S){ while(S>0) S=S-1; } signal(S){ S=S+1; } 记录型信号量

ZXxxiaoxuan的博客 795

离散数学 第七章 典型代数系统

对于生成元为a的n阶循环群,能整除n的正整数k,那么该循环群有k阶,循环子群,且仅有一个k阶循环子群。对于群:有a∈G且|a|=k,令A={a,a^2,……,a^k},则是的子群。若是n阶群,G中元素a为n阶元素。G={a,a^2,……是半群,B是S的子集且(B封闭/B是半群),则是的子半群。a, a^-1∈H(H是群),则是 的子群。对于:和称为的平凡子群。

qq_45738761的博客 424

点云焊缝提取

本文介绍了一个基于PCL库的点云处理流程,包含三个核心模块:MLS平滑处理通过多项式拟合修正点云位置;差异提取通过双向匹配定位源/目标点云的非重叠区域;统计过滤剔除离群噪声点。该流程采用"平滑-筛选-净化"的通用思路,将复杂算法封装为可配置接口,实现了工业级点云预处理。文章重点分析了各模块的原理、PCL接口调用及参数设计逻辑,同时指出参数调优、算法扩展等深入探索方向,展现了PCL在点云处理中的模块化优势与实用价值。

weixin_45196569的博客 251

应用密码学(张仕斌)第六章

信息安全数学基础回顾 欧几里德算法 欧拉函数欧拉定理 模重复平方法 逆元及求解 离散对数

weixin_46273733的博客 960

视觉自动对焦(Z 轴运动 + 相机拍照 + 清晰度计算) 的核心程序

控制 Z 轴匀速扫动一段距离,在移动过程中等间距触发相机拍照,后台计算每张图的清晰度,最后移动到最清晰的位置,完成自动对焦。

StevenChen的博客 307

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

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

congji3817的博客 436

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

算法基础 笔记

目录特殊知识: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

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

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

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

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

结构半群与统一表示:历史依赖自适应分形时间框架的范畴化基础与多表示等价性

本文构建了历史依赖自适应分形时间(HDA-FT)的严格数学框架,通过结构半群与范畴论方法统一了复杂系统的多尺度演化描述。核心创新包括:(1)定义历史依赖结构半群,将路径记忆、因果演化和尺度变换编码为代数结构;(2)建立时间范畴,实现几何特性与代数性质的双向映射;(3)证明测度、算子半群和分形迭代三类数学表示的函子等价性。该框架成功应用于Navier-Stokes方程正则性、非马尔可夫量子系统和递归AI系统等场景,揭示了传统均匀时间框架下"奇点"的本质是坐标投影畸变。研究为强路径依赖系统提

方见华 2058

特殊的同余方程——逆元

同余方程 ax ≡ 1(mod n),gcd(a,n)=1时有解。 这时称求出的x为a的对模n的乘法逆元。 (除以一个数再取模=乘以这个数的逆元再取模) 对于同余方程ax ≡ 1(mod n),gcd(a,n)=1的求解就是求解方程ax+ny=1,x,y为整数。这个可用扩展欧几里德算法求出,原同余方程的唯一解就是用扩展欧几里德算法得出的x。 A/B 题目描述 要求(A/B)%9973,但由于A很大,我们只能给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973)=1)。

qq_64030389的博客 1158

求逆元的3种方法(数论)(同余)

1.线性求逆元 假设模数为p, p=i⋅k+r,k,r∈Z,0≤r<ip=i\cdot k+r,k,r\in \Z,0\leq r<ip=i⋅k+r,k,r∈Z,0≤r<i 两边同时对p取mod得: 0≡i⋅k+r(mod  p)0\equiv i\cdot k+r(\mod p)0≡i⋅k+r(modp) 两边同时乘i−1⋅r−1i^{-1}\cdot r^{-1}i−1⋅r−1,把i−1i^{-1}i−1分离出来 得: 0≡k⋅r−1+i−1(mod  p)0\equiv k\cdot

A_Bright_CH的博客 1061
上一篇: 第六章 数学问题 -------- 6.9 天平称重问题【线性同余方程】青蛙的约会
下一篇: 第六章 数学问题 -------- 6.11【同余方程组】POJ1006 生理周期
Estrellas_
博客等级 码龄9年 273粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值