裴蜀定理
引用:简介编辑 播报
裴蜀定理的加强证明
裴蜀定理(或贝祖定理)得名于法国数学家艾蒂安·裴蜀,说明了对任何整数a、b和它们的最大公约数d,关于未知数x和y的线性不定方程(称为裴蜀等式):若a,b是整数,且gcd(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别地,一定存在整数x,y,使ax+by=d成立。
- 重要推论是:a,b互质的充分必要条件是存在整数x,y使ax+by=1.
证明编辑
标题:裴蜀定理_百度百科
网址:https://baike.baidu.com/item/%E8%A3%B4%E8%9C%80%E5%AE%9A%E7%90%86/5186593
-
要使两数不能组成的最大数有解,这两个数必须互质。
-
两个互质的数p、q,不能组成的最大数是 ( p − 1 ) ∗ ( q − 1 ) − 1 (p - 1) * (q - 1) - 1 (p−1)∗(q−1)−1
-
找规律推公式代码
#include<iostream>
using namespace std;
bool check(int n, int m) {
for (int i = 2; i <= min(n, m); i++) {
if (n % i == 0 && m % i == 0) return true;
}
return false;
}
bool dfs(int m, int n, int rest) {
if (!rest) return true;
if (min(m, n) > rest) return false;
for (int i = 0; i <= rest; i += n) {
if ((rest - i) % m == 0) return true;
}
return false;
}
int get(int n, int m) {
for (int i = 1000; i > 0; i--) {
if (!dfs(m, n, i)) return i;
}
return -1;
}
int main() {
int n, m;
// cin>> n>> m;
// cout << (n - 1) * (m - 1) -1 << endl;
for (int n = 3; n < 10; n++) {
for (int m = 2; m < 10; m++) {
if (check(n, m)) continue;
cout << n << " " << m << " " << get(n, m) << endl;
}
}
return 0;
}
费马小定理
欧几里得算法
求逆元
b
的逆元
=
b
的
(
m
−
1
)
次方
b的逆元 = b的(m - 1)次方 % m
b的逆元=b的(m−1)次方
加和公式
1^2+2^2+3^2+……n^2=n(n+1)(2n+1)/6