1
3 진수 연산자에 대해 머리를 쓰려고 고군분투하고 있습니다. 따라서 최근 예제를 통해 생각해 보았습니다.보다 기본적인 (자세한 것은 분명하지만) 표기법으로 리펙토링하려고 시도했습니다. 그러나, 제 구현은 오류를 던져 버리는 반면에 제 3의 버전은 재구성하려고 노력하고 있습니다.Euclidean GCF를 구현하면 "범위 오류 : 최대 호출 스택 크기가 초과되었습니다."가 발생합니다.
두 숫자의 GCF를 계산하는 유클리드 알고리즘의 원 버전 :
function gcd(a, b) {
return !b ? a : gcd(b, a % b);
}
내가 원 사업자의 MDN 설명을 읽은
function gcf2(a, b) {
if(b !== a){
gcf2(b, a % b);
}
else {
g = b;
}
}
를 구현하려고 시도한하지만, 분명히 나는 결과로부터 아직 이해하지 못하고있다. else 문이있는 경우
당신은 이해하지 못하는 부분이 있습니까? 첫 번째 함수는'! b'를 평가합니다. 'true'로 평가하면 'a'를 반환하고, 그렇지 않으면'gcd (b, a % b)'를 반환합니다. –