扩展欧几里得算法
前置知识点:
辗转相除法
int gcd(int a,int b)
{
if(b == 0)
{
return a;
}
return gcd(b,a%b);
}
现在要求关于未知数x,y的方程ax+by=m的通解
贝祖等式:ax+by=m有解的充要条件是m为gcd(a,b)的倍数
否则无解
这里对有解时进行讨论,不妨将m视为1倍的gcd(a,b),最后两边同乘倍数依然可得解x,y;
设存在x1,y1
使得 bx1+(a%b)*y1=gcd
原创
2022-04-08 18:52:50 ·
265 阅读 ·
0 评论