輾轉相除法,又名歐幾裏德算法(Euclideanalgorithm),是求最大公約數的壹種方法。它的具體做法是:
用較大數除以較小數,再用出現的余數(第壹余數)去除除數,再用出現的余數(第二余數)去除第壹余數,如此反復,直到最後余數是0為止。如果是求兩個數的最大公約數,那麽最後的除數就是這兩個數的最大公約數。
示例:
123456和7890的最大公因數是6,這可由下列步驟(其中,“amodb”是指取a÷b的余數)看出:
另壹種求兩數的最大公約數的方法是更相減損法。
擴展資料:
更相減損法與輾轉相除法:
1、兩者都是求最大公因數的方法,計算上輾轉相除法以除法為主,更相減損術以減法為主,計算次數上輾轉相除法計算次數相對較少,特別當兩個數字大小區別較大時計算次數的區別較明顯。
2、從結果體現形式來看,輾轉相除法體現結果是以相除余數為0則得到,而更相減損術則以減數與差相等而得到。
更相損減法在兩數相差較大時,時間復雜度容易退化成O(N),而輾轉相除法可以穩定在O(logN)。但輾轉相除法需要試商,這就使得在某些情況下,使用更相損減法比使用輾轉相除法更加簡單。而stein算法便由此出現。
百度百科——輾轉相除法