輾轉相除法,又被稱爲歐幾里德(Euclidean)算法, 是求最大公約數的算法。輾轉相除法首次出現於歐幾里得的《幾何原本》(第VII卷,命題i和ii)中,而在中國則可以追溯至東漢出現的《九章算術》。
歐幾里德算法是用來求兩個正整數最大公約數的算法。古希臘數學家歐幾里德在其著作《The Elements》中最早描述了這種算法,所以被命名爲歐幾里德算法。
擴展歐幾里德算法可用於RSA加密等領域。
假如需要求 1997 和 615 兩個正整數的最大公約數,用歐幾里德算法,是這樣進行的:
1997 / 615 = 3 (餘 152)
615 / 152 = 4(餘7)
152 / 7 = 21(餘5)
7 / 5 = 1 (餘2)
5 / 2 = 2 (餘1)
2 / 1 = 2 (餘0)
至此,最大公約數爲1
以除數和餘數反覆做除法運算,當餘數爲 0 時,取當前算式除數爲最大公約數,所以就得出了 1997 和 615 的最大公約數 1。
matlab: