摘要: 乘法逆元是用来: 定义: 若a*x≡1(mod b),且a与b互质,我们定义x是a的逆元,记为a^(-1),所以也可以说x是a在mod b意义下的倒数 所以对于a/b(mod p),我们可以先求出b在mod p下的逆元,然后乘a再mod p就是这个分数的值了 1.拓展欧几里得求逆元 #include 阅读全文
posted @ 2020-02-12 18:13 zust-lms 阅读(248) 评论(0) 推荐(0)
摘要: 前提:知道普通欧几里得算法(辗转相除法)。 #include<bits/stdc++.h> using namespace std; long long x, y;//目前方程真正的解 void exgcd(long long a, long long b) { //当前目的:求解 ax + by 阅读全文
posted @ 2020-02-12 17:48 zust-lms 阅读(196) 评论(0) 推荐(0)
摘要: 辗转相除法是用来计算两个整数的最大公约数。假设两个整数为a和b,他们的公约数可以表示为gcd(a,b)。如果gcd(a,b) = c,则必然a = mc和b = nc。a除以b得商和余数,余数r可以表示为r = a - bk,k这里是系数。因为c为 a和b的最大公约数,所以c也一定是r的最大公约数, 阅读全文
posted @ 2020-02-12 16:58 zust-lms 阅读(2133) 评论(0) 推荐(0)