C語言最大公約數最小公倍數
阿新 • • 發佈:2019-01-01
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,列舉法
列舉演算法簡單粗暴,他暴力的列舉所有可能,儘可能地嘗試所有的方法,然後找到自己想要的答案
以上就是關於求最大公約與最小公倍的一些演算法。