μ ν΄λ¦¬λ νΈμ λ²μ μ΄μ©ν μ΅λ곡μ½μ, μ΅μ곡배μ μκ³ λ¦¬μ¦μ νμ΄μ¬ μ€ν¬λ¦½νΈλ‘ μμ보μ.
μ΅λ곡μ½μ(GCD)λ?
- λ μμ°μμ 곡ν΅λ μ½μ μ€ κ°μ₯ ν° μ
μ΅μ곡배μ(LCM)λ?
- λ μμ°μμ 곡ν΅λ λ°°μ μ€ κ°μ₯ μμ μ
μ΅μ곡배μ = λ μμ°μμ κ³± / μ΅λ곡μ½μ
μΌλ‘ ꡬν μ μλ€.
μ ν΄λ¦¬λ νΈμ λ²(Euclidean algorithm)
- λ κ°μ μμ°μμ μ΅λ곡μ½μλ₯Ό μ°Ύλ λ°©λ²
- ν° μμμ μμ μλ₯Ό λΉΌλ©΄ μ΅λ곡μ½μλ λ³νμ§ μλλ€. λ°λΌμ λ μ€ λ ν° κ°μ λ°λ³΅ν΄μ λΉΌλ©΄ μ΅λ곡μ½μκ° λλ€. ( ex. 60, 36 ⇒ 60-36=24, 36-24=12, 24-12=12, 12-12=0. μ΅λ곡μ½μ 12)
- λΉΌκΈ° λμ λλ¨Έμ§λ₯Ό ꡬνλ€κ° 0μ΄ λ λμ μμ κ°μ΄ μ΅λ곡μ½μμ΄λ€. ( ex. 12, 28 ⇒ 12%28=12, 28%12=4, 12%4=0. μ΅λ곡μ½μ 4)
νμ΄μ¬ μ½λ
μ½λλ‘ μλμ κ°μ΄ μμ±ν μ μλ€.
import sys
a, b = map(int, sys.stdin.readline().split())
# μ΅λ곡μ½μ
def gcd(a, b):
tmp = 0
while(b != 0):
tmp = a % b
a = b
b = tmp
return a
def lcm(a, b):
return int(a * b / gcd(a,b))
print(gcd(a, b))
print(lcm(a, b))
'π» κ°λ° > π μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] [1μ°¨] μΊμ (0) | 2023.08.09 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] JadenCase λ¬Έμμ΄ λ§λ€κΈ° (0) | 2023.08.09 |