發布時間:2021-03-24 20:21 作者:獨孤劍 閱讀:2128
所以a*m+b*n=a'*n+b'*(m%n)
=a'*n+b'*(m-(m/n)*n)
=a'*n+b'*m-b'*(m/n)*n
=b'*m+(a'-b'*(m/n))*n
可以推出根據a‘、b'可以計算a、b。
代碼如下:
void EGCD(int m, int n) { int a, a1, b, b1, c, d, q, r, t; a1 = b = 1,a = b1 = 0,c = m,d = n; while (1) { q = c / d,r = c % d; if (r == 0) { printf("(%d)*%d+(%d)*%d=%d\n", a, m, b, n, d); return; } c = d,d = r,t = a1,a1 = a,a = t - q * a,t = b1,b1 = b,b = t - q * b; } }
微信打賞, 微信掃一掃
支付寶打賞, 支付寶掃一掃
如果文章對您有幫助,歡迎給作者打賞