Nos dan una array y tenemos que calcular el producto de una array utilizando métodos iterativos y recursivos.
Ejemplos:
Input : array[] = {1, 2, 3, 4, 5, 6} Output : 720 Here, product of elements = 1*2*3*4*5*6 = 720 Input : array[] = {1, 3, 5, 7, 9} Output : 945
Método iterativo: Inicializamos el resultado como 1. Atravesamos la array de izquierda a derecha y multiplicamos los elementos con los resultados.
Implementación:
C++
// Iterative C++ program to // multiply array elements #include<bits/stdc++.h> using namespace std; // Function to calculate the // product of the array int multiply(int array[], int n) { int pro = 1; for (int i = 0; i < n; i++) pro = pro * array[i]; return pro; } // Driver Code int main() { int array[] = {1, 2, 3, 4, 5, 6}; int n = sizeof(array) / sizeof(array[0]); // Function call to calculate product cout << multiply(array, n); return 0; }
Java
// Iterative Java program to // multiply array elements class GFG { static int arr[] = {1, 2, 3, 4, 5, 6}; // Method to calculate the // product of the array static int multiply() { int pro = 1; for (int i = 0; i < arr.length; i++) pro = pro * arr[i]; return pro; } // Driver Code public static void main(String[] args) { // Method call to calculate product System.out.println(multiply()); } }
Python3
# Iterative Python3 code to # multiply list elements # Function to calculate # the product of the array def multiply( array , n ): pro = 1 for i in range(n): pro = pro * array[i] return pro # Driver code array = [1, 2, 3, 4, 5, 6] n = len(array) # Function call to # calculate product print(multiply(array, n)) # This code is contributed # by "Sharad_Bhardwaj".
C#
// Iterative C# program to // multiply array elements using System; class GFG { static int []arr = {1, 2, 3, 4, 5, 6}; // Method to calculate the // product of the array static int multiply() { int pro = 1; for (int i = 0; i < arr.Length; i++) pro = pro * arr[i]; return pro; } // Driver Code public static void Main() { // Method call to calculate product Console.Write(multiply()); } } // This code is contributed by nitin mittal
PHP
<?php // Iterative PHP program to // multiply array elements // Function to calculate the // product of the array function multiply($arr, $n) { $pro = 1; for ($i = 0; $i < $n; $i++) $pro = $pro * $arr[$i]; return $pro; } // Driver Code $arr = array(1, 2, 3, 4, 5, 6); $n = sizeof($arr) / sizeof($arr[0]); // Function call to // calculate product echo multiply($arr, $n); return 0; // This code is contributed by nitin mittal. ?>
Javascript
<script> // Iterative javascript program to // multiply array elements var arr = [ 1, 2, 3, 4, 5, 6 ]; // Method to calculate the // product of the array function multiply() { var pro = 1; for (i = 0; i < arr.length; i++) pro = pro * arr[i]; return pro; } // Driver Code // Method call to calculate product document.write(multiply()); // This code contributed by aashish1995 </script>
720
Complejidad de tiempo: O(n)
Método recursivo:
C++
// Recursive C++ program to // multiply array elements #include<iostream> using namespace std; // Function to calculate the // product of array using recursion int multiply(int a[], int n) { // Termination condition if (n == 0) return(a[n]); else return (a[n] * multiply(a, n - 1)); } // Driver Code int main() { int array[] = {1, 2, 3, 4, 5, 6}; int n = sizeof(array) / sizeof(array[0]); // Function call to // calculate the product cout << multiply(array, n - 1) << endl; return 0; }
Java
// Recursive Java program to // multiply array elements class GFG { static int arr[] = {1, 2, 3, 4, 5, 6}; // Method to calculate the product // of the array using recursion static int multiply(int a[], int n) { // Termination condition if (n == 0) return(a[n]); else return (a[n] * multiply(a, n - 1)); } // Driver Code public static void main(String[] args) { // Method call to // calculate product System.out.println(multiply(arr, arr.length - 1)); } }
Python3
# Recursive Python3 code # to multiply array elements # Function to calculate the product # of array using recursion def multiply( a , n ): # Termination condition if n == 0: return(a[n]) else: return (a[n] * multiply(a, n - 1)) # Driver Code array = [1, 2, 3, 4, 5, 6] n = len(array) # Function call to # calculate the product print(multiply(array, n - 1)) # This code is contributed # by "Sharad_Bhardwaj".
C#
// Recursive C# program to // multiply array elements using System; class GFG { static int []arr = {1, 2, 3, 4, 5, 6}; // Method to calculate the product // of the array using recursion static int multiply(int []a, int n) { // Termination condition if (n == 0) return(a[n]); else return (a[n] * multiply(a, n - 1)); } // Driver Code public static void Main() { // Method call to // calculate product Console.Write(multiply(arr, arr.Length - 1)); } } // This code is contributed by Nitin Mittal.
PHP
<?php // Recursive PHP program to // multiply array elements // Function to calculate the // product of array using recursion function multiply( $a, $n) { // Termination condition if ($n == 0) return($a[$n]); else return ($a[$n] * multiply($a, $n - 1)); } // Driver Code $array = array(1, 2, 3, 4, 5, 6); $n = count($array); // Function call to // calculate the product echo multiply($array, $n - 1) // This code is contributed by anuj_67. ?>
Javascript
<script> // Recursive javascript program to // multiply array elements var arr = [ 1, 2, 3, 4, 5, 6 ]; // Method to calculate the product // of the array using recursion function multiply(a , n) { // Termination condition if (n == 0) return (a[n]); else return (a[n] * multiply(a, n - 1)); } // Driver Code // Method call to // calculate product document.write(multiply(arr, arr.length - 1)); // This code is contributed by todaysgaurav </script>
720
Complejidad temporal: O(n)
Espacio auxiliar: O(n)
Usando C++ STL:
C++
// C++ program for multiplication of array elements #include <iostream> /*In C++, we can quickly find array product using accumulate() and multiplies<>() defined in numeric library*/ #include <numeric> using namespace std; // Function to calculate the // product of the array int multiply(int array[], int n) { //The pro specifies the initial value to be considered int pro = 1; /* Here accumulate() take 4 parameters: begening of array, end of array, the initial value and the binary operation function object that will be applied */ return accumulate(array, array + n, pro, multiplies<int>()); } int main() { int array[] = {1, 2, 3, 4, 5, 6}; //get length of array int n = sizeof(array) / sizeof(array[0]); cout << multiply(array, n); return 0; //This code is contributed by Shivesh Kumar Dwivedi }
720
Complejidad temporal: O(n)
Espacio auxiliar: O(1)
Este artículo es una contribución de Rishabh Jain . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA