발전을 위한 기록

[Python] 파이썬으로 최소 공배수, 최대 공약수 구하기 본문

프로그래밍/파이썬

[Python] 파이썬으로 최소 공배수, 최대 공약수 구하기

릴릴2 2023. 8. 8. 23:03

간단하게 공약수와 공배수 구하기
 

두 수의 최대공약수와 최소 공배수 구하기

def calculate_gcd(a, b):
    if b == 0:
        return a
    return calculate_gcd(b, a % b)

def calculate_lcm(a, b):
    return a * b // calculate_gcd(a, b)

# 사용자로부터 두 개의 숫자를 입력 받음
num1 = int(input("첫 번째 숫자를 입력하세요: "))
num2 = int(input("두 번째 숫자를 입력하세요: "))

# 공약수와 공배수 계산
gcd_result = calculate_gcd(num1, num2)
lcm_result = calculate_lcm(num1, num2)

# 결과 출력
print("{0}과 {1}의 공약수: {2}".format(num1, num2, gcd_result))
print("{0}과 {1}의 공배수: {2}".format(num1, num2, lcm_result))

def calculate_gcd(a, b):
    if b == 0:
        return a
    return calculate_gcd(b, a % b)
 
1. 만약 b가 0이면, 최대 공약수를 찾은 것이므로 a를 반환합니다.
2. 그렇지 않다면 b 와 a 를 b로 나눈 나머지를 사용하여 재귀적으로 calculate_gcd함수를 호출합니다.
3. 이를 반복하며서 최대 공약수를 찾습니다.


def calculate_lcm(a, b):
    return a * b // calculate_gcd(a, b)
 
1. 두 수 a와 b의 곱을 두 수의 최대 공약수로나눈 값을 반환하여 최소 공배수를 계산합니다.


num1 = int(input("첫 번째 숫자를 입력하세요: "))
num2 = int(input("두 번째 숫자를 입력하세요: "))
 
사용자로부터 두 숫자를 입력 받아 각각 num1, num2에 저장합니다.
 

결과

 

 

728x90