欧几里得这部分分为欧几里得算法和扩展欧几里得算法。
欧几里得算法即我们经常说的辗转相除法,采用的基本原理是设a-qb+r,其中所有数都是整数,就有gcd(a,b)=gcd(b,r),只用a,b表示的话就是gcd(a,b0=gcd(b,a%b);
代码如下:
<span style="font-size:14px;">long long gcd(long long a,long long b){
if(b==0)return a;
return gcd(b,a%b);
}</span>
而扩展欧几里得算法则是求 ax+by=c;
其中c%gcd(a,b)==0;不满足就无解
一般的,我们都让这些常量互质,即让a,b,c都除以gcd(a,b);
这时,我们可以得出两个方程:
ax+by=1;