>  기사  >  웹 프론트엔드  >  JavaScript에서 두 개 이상의 숫자/배열의 GCD를 계산하는 방법은 무엇입니까?

JavaScript에서 두 개 이상의 숫자/배열의 GCD를 계산하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-09-10 23:13:111115검색

如何在 JavaScript 中计算两个或多个数字/数组的 GCD?

두 개 이상의 숫자의 최대 공약수(GCD)는 최대공약수(GCF) 또는 최고공약수(HCF)라고도 하며 주어진 값으로 나눌 수 있는 가장 큰 양의 정수입니다. 남은 숫자 없이. 즉, GCD는 두 숫자의 최대 약수입니다.

예를 들어 24와 36의 GCD는 12입니다.

두 숫자를 어떻게 계산하나요?

두 숫자의 GCD를 계산하는 방법에는 여러 가지가 있지만 가장 일반적인 방법은 유클리드 알고리즘입니다.

유클리드 알고리즘은 두 숫자 a와 b로 시작하여 ab의 GCD를 찾는 반복 방법입니다. 유클리드 알고리즘의 기본 아이디어는 두 숫자가 같아질 때까지 큰 숫자에서 작은 숫자를 계속해서 빼는 것입니다.

  • 예를 들어 유클리드 알고리즘을 사용하여 24와 36을 계산하기 위해 GCD를 구해 보겠습니다.

  • 24와 36부터 시작하여 큰 숫자(36)에서 작은 숫자(24)를 빼서 12를 얻습니다.

  • 그런 다음 더 큰 숫자(24)를 뺍니다. 더 작은 숫자(12) , 우리는 12를 얻습니다.

  • 이 두 숫자가 이제 동일하므로 GCD를 찾았습니다! 이 예의 GCD는 12입니다.

두 개 이상의 숫자에 대한 GCD를 계산하는 방법은 무엇입니까?

유클리드 알고리즘을 사용하여 세 개 이상의 숫자에 대한 GCD를 계산할 수도 있습니다. 기본 아이디어는 이전과 동일하지만 큰 숫자에서 작은 숫자를 빼는 대신 큰 숫자에서 두 숫자의 GCD를 뺍니다.

  • 예를 들어 GCD는 24, 36, 48입니다.
  • 먼저 유클리드 알고리즘을 사용하여 24와 36의 최대공약수인 12를 찾습니다.

  • 그런 다음 다시 유클리드 알고리즘을 사용하여 36과 48의 최대공약수인 12를 찾습니다.

  • 마지막으로 유클리드 알고리즘을 사용하여 48과 12의 최대공약수, 즉 12를 구합니다.

  • 24, 36, 48의 GCD는 12이므로 여기서 멈출 수 있습니다.

Example

이것은 JavaScript에서 둘 이상의 숫자에 대한 GCD를 계산하는 방법에 대한 완전한 작업 코드 예제입니다.

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <h2>Calculating GCD (Greatest Common Divisor)</h2>
   <div id="result1"></div>
   <div id="result2"></div>
   <script>
      function gcd(a, b) {
         // Make sure a is larger than b
         if (a < b) {
            var temp = a;
            a = b;
            b = temp;
         }

         // Iteratively subtract the smaller number from the larger number
         // until the two numbers are equal
         while (b != 0) {
            var temp = b;
            b = a % b;
            a = temp;
         }

         // Return the GCD
         return a;
      }
      // Calculate the GCD of 24 and 36
      var n1 = 24;
      var n2 = 36;
      var result = gcd(n1, n2);
      document.getElementById("result1").innerHTML = `GCD of ${n1} and ${n2} = ` + result;

      // Calculate the GCD of 24, 36, and 48
      var n1 = 8;
      var n2 = 12;
      var n3 = 20;
      var result = gcd(n1, n2, n3);
      document.getElementById("result2").innerHTML = `<br> GCD of ${n1}, ${n2}, and ${n3} =1`+ result;
   </script>
</body>
</html>

결론

이 글에서는 유클리드 알고리즘을 사용하여 두 개 이상의 숫자의 최대 공약수(GCD)를 계산하는 방법을 배웠습니다.

위 내용은 JavaScript에서 두 개 이상의 숫자/배열의 GCD를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제