GCD (μ΅λ 곡μ½μ) & LCM (μ΅μ 곡배μ) & μ ν΄λ¦¬λ νΈμ λ²
π GCD : Greatest Common Divisor : μ΅λ 곡μ½μ
π LCM : Least Common Multiple : μ΅λ 곡배μ
π μ ν΄λ¦¬λ νΈμ λ² ?
μ ν΄λ¦¬λ νΈμ λ²μ λ μμ μ μ κ°μ μ΅λ 곡μ½μλ₯Ό ꡬν μ μλ λ°©λ²μ΄λ€.
λ¨, a κ° b λ³΄λ€ νμ ν¬λ€λ μ μ κ° μμ΄μΌ μ±λ¦½νλ€. -> λΉμ°ν μ΄μΌκΈ°μΈκ², a = bq + r 곡μμμ μ΄λ―Έ bλ aμ μ½μλ‘ μν΄ μλ€.
a = bq + r μμ aμ b κ°μ κ΄κ³λ₯Ό μ μν μμ΄λ€. -> aκ° b λ³΄λ€ ν¬λ€λ©΄, b*q κ°κ³Ό μ΄λ€ λλ¨Έμ§ μ μκ° λν΄μ Έ aλ₯Ό μμ±ν κ²μ΄λ€.
μ¬κΈ°μ λλ¨Έμ§ κ°(r) μ΄ 0μ΄κ² λλ©΄ aμ b μ¬μ΄μμλ bκ° κ°μ₯ ν° μ΅λ 곡μ½μκ° λλ κ²μ΄λ€ !
λ§μ½ rμ΄ 0μ΄ μλλΌλ©΄ ? rμ bμ μ΄λ€ μ μ qμ κ³±μΌλ‘ a κ·Όμ¬κ°μ λ§λ€μ΄ λκ³ , " aμ a κ·Όμ¬κ°μ μ°¨ " λΌκ³ μ μν μ μλ€.
μ ν΄λ¦¬λ νΈμ λ²μ 0μ΄ μλ rκ³Ό b μ¬μ΄μ μ΅λ 곡μ½μκ° aμ bμ μ΅λ곡μ½μκ° κ°λ€λ κ²°λ‘ μ λμΆν 곡μμ΄λ€.
κ²°κ΅, μ°λ¦¬λ ' b ' λ₯Ό ꡬνκΈ° μν΄ μ μ¨μΌ νλ€.
π μ½λλ‘ κ΅¬ν
// μ΅λ 곡μ½μ
function GCD(a, b){
if(a % b === 0){
return b;
}
return gcd(b, a % b);
}
// μ΅μ 곡배μ
function LCM(a, b){
return a * b / GCD(a, b);
}