@[TOC]
前言
- 博主实力有限,博文有什么错误,望各位大佬,不吝赐教,非常感谢!
- 本文证明 求2数的最大公约数的辗转相除法。
补充:
2数互质:公因数只有1的2个非0自然数,称为互质。
如果 2个数a,b存在最大公约数 c即c=gcd(a,b),(gcd是最大公约数的意思)
设 a = mc;b =nc;那么 m与n必
互质
证明 如果 m,n不互质,那么m = pd;n=qd;可以知道 a= pdc; b= qdc; 因此 cd将会是 a,b的最大公约数,这与c是a,b的最大公约数相矛盾,因此 m,n互质。
辗转法证明
a/b=x....ya=xb+y;
辗转法就是证明:gcd(a,b)=gcd(b,y);
设 a ,b的最大公约数是 ca= m c; b=nc;
y= c(m-nx);
我们分析 : n与 m-nx 发现其互质。
证明:n = qd;m-nx = pd;
因此 a= cd(qx+p);b =cdq;即 cd是 a,b的最大公约数,这与c是a,b的最大共约数矛盾。
因此 n,m-nx互质,这也说明 c也是 b,y的最大公约数。
因此 gcd(a,b)=gcd(b,y)成立。另外如果 b/y = q..r;那么 gcd(a,b)= gcd(b,y)=gcd(y,r)....
这也就是 为什么 辗转法要连续执行,直到 商为0.
总结:
补充部分的 m,n互质很关键。 |
---|
另外,2个数的最大共约数与最小公倍数 之积与2数的之积相同即 ab=pq; |