前言
之前自行整理的数论讲义存在公式不规范、条理不清楚等问题,这里结合一下各个老师各个书本的讲法,试图系统化这部分内容。
一、最大公约数
与最小公倍数的关系:
证明:
记
则有:
定理 :
若 能整除 ,则必能整除 的线性组合 。
证明:
考虑 能整除 ,即 整除 。
根据裴蜀定理,,即 。
定理 :
证明:
由定理 ,若 是 和 的公因子,必能整除 ,反之亦然。
据此两者的所有公因子都相同,即最大公约数相同。
二、线性 Diophantus 方程
形如 的方程称为线性 Diophantus 方程。
若
则方程有无穷多组解。
若
则方程无解。
首先考虑如何求出子问题
一组特解 :
考虑已知
如何找到 满足
先作差消去右边的 ,将一式展开:
对应系数相等:
不难得出代码:
int exgcd(int a, int b, int&x, int&y){
if(!b){x = 1, y = 0; return a;}
int d = exgcd(b, a%b, x, y);
int x0 = x, y0 = y;
x = y0, y = x0 - y0 * (a / b);
return d;
}
这里得到的仅仅是方程