Dados dos o más números/array de números y la tarea es encontrar el GCD de los números/elementos de array dados en JavaScript.
Ejemplos:
Input : arr[] = {1, 2, 3} Output : 1 Input : arr[] = {2, 4, 6, 8} Output : 2
El MCD de tres o más números es igual al producto de los factores primos comunes a todos los números, pero también se puede calcular tomando repetidamente el MCD de pares de números.
gcd(a, b, c) = gcd(a, gcd(b, c)) = gcd(gcd(a, b), c) = gcd(gcd(a, c), b)
Para una array de elementos, hacemos lo siguiente. También verificaremos el resultado si el resultado en cualquier paso se convierte en 1, simplemente devolveremos 1 como mcd (1, x) = 1.
result = arr[0] For i = 1 to n-1 result = GCD(result, arr[i])
A continuación se muestra la implementación del enfoque anterior.
Ejemplo de código:
Javascript
<script> // Function to return gcd of a and b function gcd(a, b) { if (a == 0) return b; return gcd(b % a, a); } // Function to find gcd of array // of numbers function findGCD(arr, n) { let result = arr[0]; for (let i = 1; i < n; i++) { result = gcd(arr[i], result); if (result == 1) { return 1; } } return result; } // Driver code let arr = [2, 4, 6, 8, 16]; let n = arr.length; document.write(findGCD(arr, n) + "<br>"); </script>
Producción:
2
Complejidad de tiempo : O(N * log(M)), donde M es el elemento más pequeño de la array y N es la longitud de la array.
Publicación traducida automáticamente
Artículo escrito por swapnil074 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA