假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p) 也就是a^(p-1) %p=1 据说它是欧拉定理的一种特殊情况,也就是 比较神奇,据说很出名很出名很出名 先回顾一下乘法逆元 x的最小整数解称为a模m的逆元 如果这个m是个质数,那么费马小定理就派上用场喽 这个时候x的最小 ...
分类:
其他好文 时间:
2018-08-15 22:55:29
阅读次数:
1670
本博客代码基于题目 luogu_P3811 逆元: 一般用于求 (a/b) mod p 定义: 若a*x≡1 (modp) ,且 a 与 p 互质,那么我们就能定义: x为a的逆元,记为 a^-1 ,所以我们也可以称 x 为 a 的倒数(mod p意义下)。 所以对于 (a/b) mod p ,我们 ...
分类:
其他好文 时间:
2018-08-15 21:37:57
阅读次数:
212
RSA算法简介 RSA是最流行的非对称加密算法之一。也被称为公钥加密。它是由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在1977年一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起 ...
分类:
编程语言 时间:
2018-08-10 11:01:44
阅读次数:
178
做到了一些关于同余数论的题,然后要用到逆元(其实可以不用(雾)),发现以前写的exGCD其实不怎么理解,都快忘了,特此探究。 1. 费马小定理 假使 a x == 1 ( mod m ) ,那么 x 的最小正整数解称为 a 模 m 的乘法逆元。 又假使 a 与 m 互质,则 x = a ^ ( m ...
分类:
其他好文 时间:
2018-08-07 22:01:05
阅读次数:
172
//方法一: 扩展欧几里得 (求逆元 调用mod_reverse函数) // 限定条件 a n 互质 log(n) // @a 数 // @n 模数 inline long long mod_reverse(long long a,long long n) { long long x,y,d=ext... ...
分类:
其他好文 时间:
2018-08-05 14:26:00
阅读次数:
486
最后附上一道hash题 需要用到乘法逆元. https://vjudge.net/problem/OpenJ_Bailian-1200 ...
分类:
其他好文 时间:
2018-08-05 14:20:46
阅读次数:
176
一。欧几里得算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 递归实现: 优化 迭代实现 二.扩展欧几里德算法 基本算法:对于不完全为 0 的 ...
分类:
其他好文 时间:
2018-07-22 18:06:15
阅读次数:
254
定义:若$ab ≡ 1\ (mod\ p)$,则称$b$是$mod\ p$意义下$a$的乘法逆元 可以将逆元记作$inv$,则$a * inv ≡ 1\ (mod\ p)$ 其实定义反过来也是成立的,即$a$是$mod\ p$意义下$b$的乘法逆元 乘法逆元的意义: 模运算中的除法是不符合四则运算法 ...
分类:
其他好文 时间:
2018-07-18 23:27:41
阅读次数:
162
#include #include #include #include #include #include #define ll long long using namespace std; ll n,p; void exgcd(ll a,ll b,ll &x,ll &y) { if(!b) { x... ...
分类:
其他好文 时间:
2018-07-08 18:09:45
阅读次数:
167
#include #include #include #include #include #include #define ll long long using namespace std; ll n,p,a[3000001]; int main() { scanf("%lld%lld",&n,&p... ...
分类:
其他好文 时间:
2018-07-08 18:02:24
阅读次数:
166