Swift 알고리즘 및 언어공부 최대공약수와 최소공배수.. 어떻게든 구하려고 for문 돌려보다가 뭔가 최대공약수랑 최소공배수를 쉽게 구할 수 있는 공식 같은 게 있을 것 같아서 최대공약수 최소공배수를 구하는 수학 공식?을 찾아봤다. 유클리드 호제법이라고 두 개의 정수(자연수) 사이에서의 최대공약수를 구하는 알고리즘 이 있다. 이 방식을 이용해서 문제를 풀면 간단하다. 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면 (단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 이 과정을 ..