1. 程式人生 > >C語言最大公約數最小公倍數

C語言最大公約數最小公倍數

C語言最大公約數最小公倍數三種方法

這是一些關於求最大公約數,最小公倍數的方法,有錯誤之處,請大家指正。

以下是關於最大公約,最小公倍的定義:

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

最小公倍數:兩個或多個整數公有的倍數叫做它們的公倍數,其中除0以外最小的一個公倍數就叫做這幾個整數的最小公倍數。

最小公倍數又等於兩個數的乘積除以最大公約數。

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


2,更相減損術

(如果需要對分數進行約分,那麼)可以折半的話,就折半(也就是用2來約分)。如果不可以折半的話,那麼就比較分母和分子的大小,用大數減去小數,互相減來減去,一直到減數與差相等為止,用這個相等的數字來約分。

例、用更相減損術求98與63的最大公約數

解:把98和63以大數減小數,並輾轉相減

98-63=35

63-35=28

35-28=7

28-7=21

21-7=14

14-7=7

所以,98和63的最大公約數等於7。

3,列舉法

列舉演算法簡單粗暴,他暴力的列舉所有可能,儘可能地嘗試所有的方法,然後找到自己想要的答案

以上就是關於求最大公約與最小公倍的一些演算法。