반응형
안녕하세요. 위기의 코딩맨입니다.
오늘은 코딩 문제에서 가끔 사용되는 최대 공약수, 최소 공배수 구하는 방법을 알아보도록 하겠습니다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/002.gif)
[ 최대 공약수 ]
유클리드 알고리즘을 사용하여 최대 공약수를 구하는 코드입니다.
입력 값 A, B 를 받아 나눠 % 연산 후 몫이 아닌 나머지를 구합니다.
def Max_Value(A, B):
while B != 0:
R = A % B
A = B
B = R
return A
결과를 확인해 보면
Max_Value(12,3)
Max_Value(48,60)
![](https://blog.kakaocdn.net/dn/bzVeGL/btrtpQIF7sl/UM2UxXN5MuX5YFr2QhmoyK/img.png)
[ 최소 공배수 ]
최소 공배수 구하는 방법은 주어진 A,B의 값을 구하고 최대 공약수를 나눠주면 값을 쉽게 구할 수 있습니다.
// 연산자는 나누기 연산 후 소수점 이하의 수를 버리고, 정수 부분의 수를 남겨주는 연산자 입니다.
def Min_Value(A,B):
A = A * B // Max_Value(A,B)
return A
결과를 확인해 보면
Min_Value(10,30)
Min_Value(6,25)
오늘은 간단하게 최대 공약수, 최소 공배수 알고리즘을 알아보았습니다.
앞으로 Python을 이용한 알고리즘 공부를 해보겠습니다.
반응형
'Python > Algorithm' 카테고리의 다른 글
[We-Co] 이진탐색 알고리즘- Python (0) | 2022.02.16 |
---|---|
[We-Co] DFS, BFS - Python (0) | 2022.02.15 |
[We-Co] Python 리스트 sort(), sorted() (0) | 2021.08.03 |
[We-Co] 퀵정렬 (Quick sort) (0) | 2021.07.31 |
[We-Co] 람다 lambda (0) | 2021.07.30 |