歐幾里得算法,也稱為輾轉相除法,是一種用於計算兩個整數a和b的最大公約數(GCD)的算法。其核心原理和步驟如下:
原理:
如果a和b都是正整數,那麼存在整數x和y,使得a和b的最大公約數(GCD)可以表示為ax + by。換句話說,GCD(a, b)是a和b的整數線性組合。
算法步驟:
從a和b中選取較大的數作為被除數,較小的數作為除數。
使用除法運算,計算較大的數除以較小的數的結果,以及餘數。
如果餘數為0,則算法結束,餘數就是a和b的最大公約數。
如果餘數不為0,將較小的數作為新的被除數,餘數作為新的除數,重複上述步驟,直到餘數為0。
示例:
求10和24的最大公約數。
第一次疊代:24除以10,餘數為4。此時,24是10的倍數,但4不是10的倍數。因此,繼續疊代。
第二次疊代:10除以4,餘數為2。此時,10是4的倍數,但2不是4的倍數。繼續疊代。
第三次疊代:4除以2,餘數為0。此時,4是2的倍數,且2也是2的倍數。因此,2是10和24的最大公約數。
通過上述算法,我們可以高效地計算出兩個整數的最大公約數。