728x90
반응형
1. 문제 설명
2. 풀이과정
해당 문제는 두 수의 최소공배수를 구하는 문제이다.
두 수의 최소공배수는 두 수의 공약수의 곱에 각 수를 두 수의 공약수의 곱으로 나눈 몫을 곱한 값이다.
ex) 6, 8 → 공약수 = 2 → 2 × (6 / 2) × (8 / 2) → 24
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 최소공배수를 구할 두 수를 입력받는다. A, B = map(int, sys.stdin.readline().split())
- 공약수의 곱을 저장할 변수를 생성하고 1로 초기한다. MAX = 1
- 약수를 저장할 변수를 생성하고 2로 초기화한다. i = 2
- 나누는 약수가 나누어지는 수보다 작으면 반복한다. while (A >= i) and (B >= i)
- 만약에 해당 약수가 두 수의 공약수라면 if (A % i == 0) and (B % i == 0)
- 해당 약수를 공약수의 곱에 곱한다. MAX *= i
- 각 수를 약수로 나눈 몫의 결과로 다시 저장한다. A //= i B //= i
- 반면에 공약수가 아니면 else
- 해당 약수를 1 증가시켜 다음 수를 약수로 정한다. i += 1
- 최소공배수는 공약수들의 곱과 각 수를 해당 수로 나눈 몫을 각각 곱한 결과이다. print(MAX * A * B)
반응형
3. 소스코드
import sys
A, B = map(int, sys.stdin.readline().split())
MAX = 1
i = 2
while (A >= i) and (B >= i):
if (A % i == 0) and (B % i == 0):
MAX *= i
A //= i
B //= i
else:
i += 1
print(MAX * A * B)
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 17103번 : 골드바흐 파티션 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.29 |
---|---|
[백준] 4134번 : 다음 소수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.28 |
[백준] 2485번 : 가로수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.27 |
[백준] 1735번 : 분수 합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.26 |
[백준] 11478번 : 서로 다른 부분 문자열의 개수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.24 |
[백준] 1269번 : 대칭 차집합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.23 |
[백준] 1764번 : 듣보잡 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.22 |
[백준] 1620번 : 나는야 포켓몬 마스터 이다솜 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.21 |