1. 程式人生 > >C語言中求最大公約數的兩種方法:輾轉相除法和更相減損術

C語言中求最大公約數的兩種方法:輾轉相除法和更相減損術

輾轉相除法:

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

更相減損術:

       以較大的數減較小的數,接著把所得的差與較小的數比較,並以大數減小數。繼續這個操作,直到所得的減數和差相等為止。其中所說的“減數和差數相等的數”,就是 最大公約數。求“等數”的辦法是“更相減損”法。

程式碼部分:

     

效果圖: