728x90
파이썬에서 최대공약수(GCD, Greatest Common Divisor)와 최소공배수(LCM, Least Common Multiple)를 구하기 위해 math 모듈에서 제공하는 gcd()와 lcm() 함수를 사용할 수 있습니다.
gcd()
gcd() 함수는 두 개 이상의 숫자의 최대공약수를 계산하는 데 사용됩니다. 여러 개의 인자를 받을 수 있으며, 인자들 간의 최대공약수를 반환합니다.
import math
result = math.gcd(a, b, ...)
a, b, ...: 최대공약수를 계산할 숫자들. 최소한 두 개 이상의 숫자를 전달해야 합니다.
lcm()
lcm() 함수는 두 개 이상의 숫자의 최소공배수를 계산하는 데 사용됩니다. 여러 개의 인자를 받을 수 있으며, 인자들 간의 최소공배수를 반환합니다.
import math
result = math.lcm(a, b, ...)
a, b, ...: 최소공배수를 계산할 숫자들. 최소한 두 개 이상의 숫자를 전달해야 합니다.
math 모듈의 gcd()와 lcm() 함수는 파이썬 3.9부터 사용 가능한 함수입니다. 이전 버전의 파이썬에서는 fractions 모듈의 gcd() 함수를 사용할 수도 있습니다.
import math
num1 = 12
num2 = 18
gcd_result = math.gcd(num1, num2)
lcm_result = math.lcm(num1, num2)
print(gcd_result) # 출력: 6
print(lcm_result) # 출력: 36
위의 예시 코드에서는 math.gcd() 함수를 사용하여 12와 18의 최대공약수를 계산하고, math.lcm() 함수를 사용하여 최소공배수를 계산합니다. 계산된 결과는 각각 6과 36입니다.
그 밖에 gcd아 lcm을 구하는 방법들은 다음과 같습니다.
def gcdlcm(a, b):
c,d = max(a, b), min(a, b)
t = 1
while t>0:
t = c%d
c, d = d, t
answer = [ c, int (a*b/c)]
return answer
gcd = lambda a,b : b if not a%b else gcd(b, a%b)
lcm = lambda a,b : a*b//gcd(a,b)
[참조]
https://school.programmers.co.kr/learn/courses/30/lessons/12940/solution_groups?language=python3
'성장하기 > Python' 카테고리의 다른 글
문자열에서 숫자를 추출하는 방법 (0) | 2023.06.17 |
---|---|
fromkeys (0) | 2023.06.16 |
maketrans 와 translate (0) | 2023.06.16 |
dataclass (0) | 2023.06.16 |
yield (0) | 2023.06.16 |