算法导论中少有的中国元素,古代数学家或者称为商人智慧的结晶。写这个文章的初衷是,期中考试竟然没把这个中国余数定理完整的写下了,郁闷了好久,enmmm,kukuku。
私以为数论这一章其实对数学要求并不高,认真认真看还是有思路的,不过自己事情太多静不下来,只能把关键的地方记录下来供日后研究。
- 扩展欧几里得算法
int exgcd(int a, int b, int& x, int& y)
{
if(b == 0)
{
x = 1, y = 0;
return a;
}
int g = exgcd(b, a % b, x, y);
int t = x;
x = y;
y = t - a / b * y;
return g;
}
- 求解模线性方程
- 中国余数定理
利用这个推论有时可以比较快速的推算模逆元。
这里总结下自己实践得出求模逆元的方式,如果被除数较小,通常在5以内,把可能的被除数乘上1到5,一个个去除,,一个个尝试。
如果较大就需要运用余数定理,如果求出来的是负数,也要加上变成正数。