輾轉相除法與更相減損法

2021-10-01 19:25:42 字數 530 閱讀 9500

解釋輾轉相除法:它的定義是:用較小數除較大數,再用出現的餘數(第一餘數)去除除數,再用出現的餘數(第二餘數)去除第一餘數,如此反覆,直到最後餘數是0為止。如果是求兩個數的最大公約數,那麼最後的除數就是這兩個數的最大公約數。

這裡有個基本原理:兩個數的最大公因數等於這兩個數相除的餘數中更 小的數的最大公因數

這裡可以把a看做x倍的k即x*k,b看做y倍的k即y*k;這裡假設a>b,a%b=nk(仔細想一下xk/yk的餘數是不是k的倍數)這個可以解釋為什麼a和b的餘數與b最大公因數還是a和b最大公因數,這個最大公因數還是k;

更相減損法:就是a,b;a和b的最大公約數等於a-b的最大公約數;這個還是可以把a,b看成xk和yk

a-b=nk;

輾轉相除法原理

輾轉相除法原理 假設有兩個數x和y,存在乙個最大公約數z x,y 即x和y都有公因數z,那麼x一定能被z整除,y也一定能被z整除,所以x和y的線性組合mx ny也一定能被z整除。m和n可取任意整數 對於輾轉相除法來說,思路就是 若x y,設x y n餘c,則x能表示成x ny c的形式,將ny移到左...

約分 輾轉相除法

include using namespace std int main int temp1 int temp2 cin temp1 temp2 int a temp1 int b temp2 while b 0 int temp a b a b b temp cout 輾轉相除法 輾轉相除法是求兩...

模板 輾轉相除法

處理最大公因數時十分好用 但是我證不出來。gcd a,b gcd b,a mod b b 0 設兩數為a b a b 用gcd a,b 表示a,b的最大公約數,r a mod b 為a除以b的餘數,k為a除以b的商,即a b kr。輾轉相除法即是要證明gcd a,b gcd b,r 第一步 令c g...