[Python] 최대공약수와 최소공배수 - 유클리드 호제법
유클리드 호제법 최대공약수 구하기 2개의 자연수 a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 예시 a=72, b=30일 때, 최대공약수는 6이다. 30과 a를 b로 나눈 나머지인 12의 최대공약수도 6이다. 12와 (30%12=) 6의 최대공약수도 6이다. 💡 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 💡 a b a % b 72 30 12 30 12 6 12 6 0 👉 12 % 6 = 0이기 때문에 나누는 수인 6이 a와 b의 최대공약수 이다. 최소공배수 구하기 최소공배수 L = 최대공약수 G..
2023.04.24