![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学
dhjfhcnf
这个作者很懒,什么都没留下…
展开
-
公倍数与公约数
最大公约数gcd(Greatest Common Divisor) int long long gcd(int long long a,int long long b) //辗转相除法求最大公约数 { if(a%b==0) return b; return gcd(b,a%b); } 最小公倍数lcm (Lowest Common Multiple) 最小公倍数=a*b/最大公约数 int long long lcm(int long long a,int long lon原创 2021-02-22 17:19:07 · 80 阅读 · 0 评论 -
费马小定理
费马小定理: 对于质数 p,当 a 是一个与 p 互质的整数时有: a^(p-1)≡1(mod p) 当然也可以化成: a ^ p ≡ a(mod p)原创 2021-01-31 00:38:01 · 730 阅读 · 1 评论 -
乘法逆元
定义: 就是一个数的倒数,那为什么要求一个数的倒数:比如a/b这个时候b的值特别大,就是导致double精度不够所以我们要将a/b换成a*c,其中c^-1=b. 【费马小定理求解逆元】:(易知费马定理是有限制的:a与p要互质) (有关费马小定理) 代码实现:(精华就是快速幂) long long quickpow(long long a,long long b,long long p) //快速幂 { if(b<0) ...原创 2021-01-31 00:31:57 · 47 阅读 · 0 评论 -
位运算
C语言提供的位运算符列表: 运算符 作用 示例 & 按位与 两个操作数同时为1结果为1 | 按位或 两个操作数只要有一个为1,结果就为1 ~ 按位非 操作数为1,结果为0;操作数为0,结果为1 ^ 按位异或 两个操作数相同,结果为0;不相同结果为1 << 左移 右侧空位补0 >> 右移 左侧空位补符号位 ...原创 2021-01-31 00:37:13 · 76 阅读 · 0 评论 -
取模运算规则
模运算与基本四则运算有些相似,但是除法例外。其规则如下: (a + b) % p = (a % p + b % p) % p (a - b) % p = (a % p - b % p) % p (a * b) % p = (a % p * b % p) % p a ^ b % p = ((a % p)^b) % p 结合律: ((a+b) % p + c) % p = (a + (b+c) % p) % p ((ab) % p * c)% p = (a * (bc) % p) % p 交换律: (a + b原创 2021-01-31 00:38:38 · 1432 阅读 · 0 评论 -
求组合数
低数量级 利用杨辉三角直接求。C(n,m)=C(n-1,m)+C(n-1,m-1)。原创 2021-01-31 00:30:38 · 65 阅读 · 0 评论