逆元

本文介绍了模运算的基本概念,包括最大公约数GCD、最小公倍数LCM、进制转换和同余。重点讨论了逆元的概念及其在模意义下的重要性,解释了如何利用费马小定理求解逆元,并概述了拓展欧几里得算法在求解同余方程中的应用。通过实例展示了算法的使用,强调实际解题能力的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

约数

GCD,英文缩写,意思是最大公约数
LCM,英文缩写,意思是最小公倍数
欧几里得定理告诉我们:
gcd(a,b)=gcd(a-b,b)=gcd(b,a%b),证明略过
时间复杂度为O(log n)
LCM和GCD之间还有一个公式:
LCM(a,b)×GCD(a,b)=a×b
例题1
例题2
例题3

进制转换

给定一个n位a进制数化为b进制数,最终为m位
将给定a进制的数从高位向低位进行扫描,每次将当前结果乘以a,并且加上当前为的系数,然后考虑进位,复杂度为O(nm) ,如果a,b比较小可以通过压位优化

同余

如果给定正整数m,有正整数a,b满足a-b=km,并且k是一个整数那么叫做a,b模m同余,用a≡b(mod m)表示,比如100-60除以8正好可可以除尽,那么就说100≡60(mod 8`)
那么这不就是取余运算吗,是的,他就是一个取模运算
模m意义下,整数集只有[0,m)的m个整数,其他整数都应该加上或者减去若干个m调整到这个区间(这句话有点类似于循环队列的意义)
对于一个负数的话,我们注意,需要注意其表示为a+b=km,而和之前的不一样了
有一个小细节:a%b=a-a/b×b
不难证明,模意义下的加减乘一帮意义是一样,也就是说性质是一样的,但是唯独除法不太一样
考虑在一般意义下的除法,a/b等价于a×b-1,然而b-1满足b×b-1所以我们只需要运算b-1≡1(mod m),不就可以实现模m意义下的除法了

逆元

所以我们需要引入逆元的概念
逆元其实就是倒数,那为什么要求一个数的倒数呢,比如a/b这个时候b的值特别的大,就是导致精度不够用,所以我们要将将a/b换成ac,其中c-1=b
如果c是b的逆元,则有b×c≡1(mod m)
推论:(a/b)mod m=a
c(mod m)

费马小定理

a是不能被质数p整除的正整数,也就是a和p互质那么ap-1≡1(mod p)
这个公式非常的重要,因为我们根据这个式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值