证明辗转相除法的正确性

证明辗转相除法的正确性

第一步:令 c = gcd ⁡ ( a , b ) c = \gcd(a, b) c=gcd(a,b),则设 a = m c a = mc a=mc b = n c b = nc b=nc

第二步:根据前提可知 r = a − k b = m c − k n c = ( m − k n ) c r = a - kb = mc - knc = (m - kn)c r=akb=mcknc=(mkn)c

第三步:根据第二步结果可知 c c c 也是 r r r 的因数。

第四步:可以断定 m − k n m - kn mkn n n n 互质(假设 m − k n = x d m - kn = xd mkn=xd n = y d n = yd n=yd,其中 d > 1 d > 1 d>1),则

  • m = k n + x d m = kn + xd m=kn+xd
  • = y k d + x d =ykd + xd =ykd+xd
  • = ( y k + x ) d =(yk + x)d =(yk+x)d

因此,

  • a = m c = ( y k + x ) c d a = mc = (yk + x)cd a=mc=(yk+x)cd
  • b = n c = y c d b = nc = ycd b=nc=ycd

然而,这导致 a a a b b b 共有一个公约数 c d cd cd,其中 c d > c cd > c cd>c。这与前面的结论矛盾,因为 c c c被认为是 a a a b b b 的最大公约数。

因此,我们得出结论: m − k n m - kn mkn n n n 互质。这也意味着 c c c b b b r r r 的最大公约数。

证毕。

你可能感兴趣的:(python,数据结构,几何学)