Dada una array arr , la tarea es encontrar la suma del producto de los dígitos de todos los elementos de la array
Ejemplo:
Entrada: arr[]={11, 23, 41}
Salida: 11
Explicación: 1*1 + 2*3 + 4*1 = 1 + 6 + 4 = 11 11Entrada: arr[]={46, 32, 78, 0}
Salida: 86
Enfoque: para resolver este problema, encuentre el producto de los dígitos de todos los números y luego simplemente súmelos. Siga los pasos a continuación para resolver este problema:
- Cree una función findProduct que obtenga un número y encuentre el producto de sus dígitos.
- Cree una suma variable para almacenar la respuesta final e inicialícela con 0.
- Ahora, recorre la array y para cada elemento:
- Pásalo a la función findProduct y obtén el producto de su dígito.
- Luego suma su producto de digit a sum .
- Devuelve la suma como la respuesta final.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ code for the above approach #include <bits/stdc++.h> using namespace std; // Function to find the product of the // digits of a number N int findProduct(int N) { if (N == 0) { return 0; } int product = 1; while (N > 0) { product *= (N % 10); N /= 10; } return product; } // Function to find the sum of the product of // digits of all array elements int sumOfProduct(vector<int> arr) { int sum = 0; for (auto x : arr) { sum += findProduct(x); } return sum; } // Driver Code int main() { vector<int> arr = { 46, 32, 78, 0 }; cout << sumOfProduct(arr); }
Java
// Java code to implement above approach import java.util.*; public class GFG { // Function to find the product of the // digits of a number N static int findProduct(int N) { if (N == 0) { return 0; } int product = 1; while (N > 0) { product *= (N % 10); N /= 10; } return product; } // Function to find the sum of the product of // digits of all array elements static int sumOfProduct(int []arr) { int sum = 0; for (int i = 0; i < arr.length; i++) { sum += findProduct(arr[i]); } return sum; } // Driver code public static void main(String args[]) { int []arr = { 46, 32, 78, 0 }; System.out.println(sumOfProduct(arr)); } } // This code is contributed by Samim Hossain Mondal.
Python3
# Python code for the above approach # Function to find the product of the # digits of a number N def findProduct(N): if (N == 0): return 0 product = 1 while (N > 0): product *= (N % 10) N = N // 10 return product # Function to find the sum of the product of # digits of all array elements def sumOfProduct(arr): sum = 0 for x in arr: sum += findProduct(x) return sum # Driver Code arr = [46, 32, 78, 0] print(sumOfProduct(arr)) # This code is contributed by Saurabh Jaiswal
C#
// C# code to implement above approach using System; class GFG { // Function to find the product of the // digits of a number N static int findProduct(int N) { if (N == 0) { return 0; } int product = 1; while (N > 0) { product *= (N % 10); N /= 10; } return product; } // Function to find the sum of the product of // digits of all array elements static int sumOfProduct(int []arr) { int sum = 0; for (int i = 0; i < arr.Length; i++) { sum += findProduct(arr[i]); } return sum; } // Driver code public static void Main() { int []arr = { 46, 32, 78, 0 }; Console.Write(sumOfProduct(arr)); } } // This code is contributed by Samim Hossain Mondal.
Javascript
<script> // JavaScript code for the above approach // Function to find the product of the // digits of a number N function findProduct(N) { if (N == 0) { return 0; } let product = 1; while (N > 0) { product *= (N % 10); N = Math.floor(N / 10) } return product; } // Function to find the sum of the product of // digits of all array elements function sumOfProduct(arr) { let sum = 0; for (let x of arr) { sum += findProduct(x); } return sum; } // Driver Code let arr = [46, 32, 78, 0]; document.write(sumOfProduct(arr)); // This code is contributed by Potta Lokesh </script>
86
Complejidad de tiempo: O(NlogM), donde N es el tamaño de la array y M es el número máximo en la array
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por shettyadarsh43 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA