兩數的最大公約數

hello,複習一下數學知識!算法

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

由於以前作一個小功能,須要先計算一下數組的最大公約數,因此我就想記錄一下公約數的計算。3d

簡單點,咱們用窮舉法,這是咱們天然而然能夠想到的方法,天然而然想到的方法老是效率會低一點。blog

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

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

還有好比短除法,分解質因數法,須要計算因數,因此這樣我以爲太麻煩了,單是計算最大公約數,沒有必要!方法

相關文章
相關標籤/搜索