Suma del Producto de los dígitos de todos los elementos del Array

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 11

Entrada: 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:

  1. Cree una función findProduct que obtenga un número y encuentre el producto de sus dígitos.
  2. Cree una suma variable para almacenar la respuesta final e inicialícela con 0.
  3. 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 .
  4. 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>
Producción: 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *