소개
이 랩에서는 JavaScript 를 사용하여 두 개 이상의 숫자/배열 간의 최대 공약수 (GCD, Greatest Common Divisor) 를 구하는 개념을 탐구합니다. 이 랩에서는 재귀 (recursion) 를 사용하여 GCD 를 계산하는 함수를 소개하며, 0 을 기저 사례 (base case) 로 사용합니다. 이 랩을 마치면, 자신의 JavaScript 프로젝트에서 이 함수를 구현하는 방법에 대한 확실한 이해를 얻게 될 것입니다.
최대 공약수 계산 방법
코드를 사용하여 두 개 이상의 숫자/배열 간의 최대 공약수 (GCD) 를 계산하려면 다음 단계를 따르세요.
터미널/SSH 를 열고
node를 입력하여 코딩 연습을 시작합니다.다음 코드를 사용합니다.
const gcd = (...arr) => {
const _gcd = (x, y) => (!y ? x : gcd(y, x % y));
return [...arr].reduce((a, b) => _gcd(a, b));
};
gcd함수는 재귀 (recursion) 를 사용합니다.기저 사례 (base case) 는
y가0과 같을 때입니다. 이 경우 함수는x를 반환합니다.그렇지 않으면 함수는
y와x / y의 나머지 (remainder) 의 GCD 를 반환합니다.함수를 테스트하려면 다음 코드를 사용합니다.
gcd(8, 36); // 4
gcd(...[12, 8, 32]); // 4
요약
축하합니다! 최대 공약수 (Greatest Common Divisor) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.