1. 程式人生 > >兩數的最大公約數

兩數的最大公約數

hello,複習一下數學知識!

最大公因數,也稱最大公約數、最大公因子,指兩個或多個整數共有約數中最大的一個。

因為之前做一個小功能,需要先計算一下陣列的最大公約數,所以我就想記錄一下公約數的計算。

簡單點,我們用窮舉法,這是我們自然而然可以想到的方法,自然而然想到的方法總是效率會低一點。

然後我們看看輾轉相除法, 又名歐幾里德演算法,是求最大公約數的一種方法。它的具體做法是:用較大數除以較小數,再用出現的餘數(第一餘數)去除除數,再用出現的餘數去除第一餘數,如此反覆,直到最後餘數是0為止。如果是求兩個數的最大公約數,那麼最後的除數就是這兩個數的最大公約數。

輾轉相減法(求最大公約數),即尼考曼徹斯法,其特色是做一系列減法,從而求得最大公約數。例如 :兩個自然數35和14,用大數減去小數,(35,14)->(21,14)->(7,14),此時,7小於14,要做一次交換,把14作為被減數,即(14,7)->(7,7),再做一次相減,結果為0,這樣也就求出了最大公約數7

還有比如短除法,分解質因數法,需要計算因數,所以這樣我覺得太麻煩了,單是計算最大公約