πŸ“ Coding Test Study/Math

[Math&Algorithm] μ΅œλŒ€κ³΅μ•½μˆ˜? μ΅œλŒ€κ³΅λ°°μˆ˜?

ibelieveinme 2021. 3. 1. 02:34
728x90

β–·μ΅œλŒ€κ³΅μ•½μˆ˜λž€?

: GCD(Greatest Common Divisor)

: 두 수 A와 B의 κ³΅ν†΅λœ μ•½μˆ˜ μ€‘μ—μ„œ κ°€μž₯ 큰 μ •μˆ˜

 

β–·κ΅¬ν•˜λŠ” 방법?

β‘  2λΆ€ν„° min(A, B)κΉŒμ§€ λͺ¨λ“  μ •μˆ˜λ‘œ λ‚˜λˆ μ„œ λ‚˜λ¨Έμ§€κ°€ 0이 λ˜λŠ” μ΅œλŒ€ μ •μˆ˜ μ°ΎκΈ°.

β‘‘ μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•(Euclidean algorithm)으둜 μ°ΎκΈ°.

    : aλ₯Ό b둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό r 이라고 ν–ˆμ„ λ•Œ, GCD(a, b) = GCD(b, r) 이 μ„±λ¦½ν•œλ‹€. → μž¬κ·€λ‘œ κ΅¬ν˜„ κ°€λŠ₯

    : r이 0이면 κ·Έ λ•Œμ˜ bκ°€ μ΅œλŒ€ κ³΅μ•½μˆ˜ 이닀.

    ex) GCD(16, 12) = GCD(12, 4) = GCD(4, 0) = 4 GCD(a, b) = GCD(b, a%b) 둜 ν‘œν˜„ 됨

 

β–·μ΅œλŒ€κ³΅λ°°μˆ˜λž€?

: LCM(Least Common Multiple)

: 두 수의 κ³΅ν†΅λœ 배수 μ€‘μ—μ„œ κ°€μž₯ μž‘μ€ μ •μˆ˜

 

β–·κ΅¬ν•˜λŠ” 방법?

: μ΅œμ†Œκ³΅μ•½μˆ˜ gλ₯Ό μ•Œ λ•Œ, g * (a/g) * (b/g) 둜 ꡬ할 수 μžˆλ‹€.

728x90