백준(Python) 풀이/수학

백준(Python) 1934번 최소공배수 풀이

개발윗미 2021. 10. 7. 10:32

Python으로 구현한 1934번 최소공배수 문제 풀이입니다.

 

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

 

1934번: 최소공배수

두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있

www.acmicpc.net


tc = int(input())

for _ in range(tc) :
  a, b = map(int, input().split())
  
  a_value, b_value = a, b
  while b_value != 0 :
    a_value = a_value % b_value
    a_value, b_value = b_value, a_value

  print(a*b // a_value)

 

주어진 테스트 케이스의 개수만큼 반복문을 돌려 a와 b를 입력받고 while문을 통해 최대공약수를 구한다.

 

구한 최대공약수를 통해 최소공배수를 구할 수 있다. 최소 공배수는 a로 나눠도 나누어 떨어지고

 

b로 나눠도 나누어 떨어지기 때문에 입력받은 원래의 값 a, b를 곱하고 이전에 구했던 최대공약수로 나누어 출력한다.

 

최대 공약수와 최소 공배수를 모두 출력하는 예제는 아래에서 볼 수 있다.

 

https://unie2.tistory.com/377?category=888633 

 

백준(Python) 2609번 최대공약수와 최소공배수 풀이

Python으로 구현한 2609번 최대공약수와 최소공배수 문제 풀이입니다. https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에

unie2.tistory.com