갈색붕어빵

[BOJ_2609] 최대공약수 최소공배수 본문

BOJ

[BOJ_2609] 최대공약수 최소공배수

도레미애 2022. 6. 3. 01:14

💯최대공약수 최소공배수

두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.

🐣예제 입력

24 18

🐣예제 출력

6
72

🐣 내 풀이 전략

  • 최대 공약수 : 두 수의 공통된 약수 중 가장 큰 수
  • 최소 공배수 : 두 수의 공통된 배수 중 가장 작은 수
    • 두 수의 곱 / 최대 공약수

➕ 최소 공배수 * 최대 공약수 = 두 수의 곱

🐣 내 풀이 코드

N, M = map(int, input().split())
# 각각의 수의 약수를 담을 통
arr1, arr2 = [], []
for i in range(1, N+1):
    if N % i == 0:
        arr1.append(i)
for j in range(1, M+1):
    if M % j == 0:
        arr2.append(j)
gcm = 0
for i in arr1:
    for j in arr2:
        if i == j:
            gcm = i if i > gcm else gcm

lcm = (N * M) // gcm
print(gcm)
print(lcm)

 

\

'BOJ' 카테고리의 다른 글

[BOJ_1074] Z  (0) 2023.05.23
[BOJ_2504] 괄호의 값  (0) 2022.06.06
[BOJ_2309]일곱 난쟁이  (0) 2022.06.02