[BOJ] 1934번 최소공배수(Python)

mingreen·2021년 5월 7일
0

코딩 테스트

목록 보기
6/19

문제

해결방법

방법1) AxB를 A,B의 최대공약수로 나누면 최소공배수가 된다.
방법2) A,B 중에 더 큰 수의 배수를 해가면서 A로 나눠지면 그 수가 최소공배수가 된다.

실제구현

방법1-1

python math 모듈을 사용한다.

from math import gcd

def cal(a, b):
    print((a*b) // gcd(a,b))

if __name__ == '__main__':
    case = int(input())
    for i in range(case):
        a, b = map(int, input().split())
        cal(a, b)

방법1-2

gcd 함수를 구현해서 사용한다.

def cal(a, b):
    A, B = a, b
    while a%b != 0:
        a, b = b, a%b

    print((A*B) // b)

if __name__ == '__main__':
    case = int(input())
    for i in range(case):
        a, b = map(int, input().split())
        cal(a, b)

방법2

def cal(a, b):
    for i in range(1, a+1):
        if (b*i)%a == 0:
            print(b*i)
            break

if __name__ == '__main__':
    case = int(input())
    for i in range(case):
        a, b = map(int, input().split())
        cal(a, b)

profile
주니어 백엔드 개발자의 기록하는 습관 만들기🧑‍💻

0개의 댓글