티스토리 뷰

📖 question

https://www.acmicpc.net/problem/2609

 

2609번: 최대공약수와 최소공배수

첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.

www.acmicpc.net

 

✍️ answer

# 2609. 최대공약수와 최소공배수
import math
a, b = map(int, input().split())

# 최대공약수
for i in range(min(a, b), 0, -1):  # 최대공약수를 구하기 위해 나눌 수 있는 큰 값부터 대입해봄
    if a % i == 0 and b % i == 0:  # 둘다 나머지가 0일 때 공약수가 구해짐
        print(i)
        break

# 최소공배수
for i in range(max(a, b), (a*b)+1):  # 둘이 최소공배수가 될 경우 중 가장 작은 수는 n*1, 가장 큰 수는 둘을 곱한 수
    if i % a == 0 and i % b == 0:  # i에서 나눌 때 둘 다 0이 되어야 최소공배수가 됨
        print(i)
        break

# 함수 사용
gcd = math.gcd(a, b)
lcm = math.lcm(a, b)
print(gcd, lcm)

'Python > BAEKJOON' 카테고리의 다른 글

2522 별 찍기 - 12  (0) 2022.06.07
2444 별 찍기 - 7  (0) 2022.06.06
5635 생일  (0) 2022.06.05
2443 별 찍기 - 6  (0) 2022.06.03
10833 사과  (0) 2022.06.02
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday