티스토리 뷰
최대공약수
<유클리드 호제법을 이용하여 풀이>
임시변수(나머지)에 a(나누어진 수)와 b(나누는 수)를 나머지 연산하여 값을 넣는다. 그리고 a(나누어진 수)에 기존 b(나누는 수)를 넣고, b(나누는 수)에 나머지 값r을 넣는다. 이렇게 b(나누는 수)가 0 이 될때 까지 반복!
그때 a의 값은 최대 공약수가 된다.
최소공배수최소공배수
두수의 곱 / 두수의 최대공약수(gcd)
구해진 최대 공약수를 두수의 곱으로 나누면 최소공배수가 된다.
여기서 중요!
2중 for문을 통해 모든 경우의 수에 대해 최소공배수를 구하며는 안된다. 이럴경우 마지막 결과값이 return된다.
두 개의 최소공배수를 구하고, 그 최소공배수랑 배열의 다음 값이랑 다시 함수를 돌리면 구할 수 있다.
최소공배수 문제는 저번에 풀어본적있지만 전혀 기억이 안나서 매우 어려웠다.. 복습이 무조건! 꼭! 필요하다.
'알고리즘' 카테고리의 다른 글
<Programmers> 소수 만들기 (0) | 2020.05.02 |
---|---|
<Programmers> 짝지어 제거하기 (0) | 2020.05.01 |
<Programmers> JadenCase 문자열 만들기 (0) | 2020.04.30 |
<Programmers> 행렬의 곱셈(실패) (0) | 2020.04.30 |
<Programmers> 피보나치 수 (0) | 2020.04.29 |