Producto de valores de todos los posibles subconjuntos no vacíos de Array dado

Dada una array de tamaño N. La tarea es encontrar el producto de los valores de todos los posibles subconjuntos no vacíos de la array dada.
Ejemplos: 
 

Entrada: N = 2, arr[] = {3, 7} 
Salida: 441 
Todos los subconjuntos no vacíos son: 


3, 7 
Producto = 3 * 7 * 3 * 7 = 441
Entrada: N = 1, arr[] = {4} 
Salida:
 

Enfoque: en una observación cuidadosa se puede deducir que el número de ocurrencias de cada elemento en todos los subconjuntos es 2 N-1 . Por lo tanto, en el producto final, cada elemento de la array se multiplicará por 2 N-1 veces. 
 

Product = a[0]2N-1*a[1]2N-1********a[N-1]2N-1

A continuación se muestra la implementación del enfoque anterior: 
 

C++

// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to find product of all elements
// in all subsets
int product(int a[], int n)
{
    int ans = 1;
    int val = pow(2, n - 1);
     
    for (int i = 0; i < n; i++) {
        ans *= pow(a[i], val);
    }
     
    return ans;
}
 
// Driver Code
int main()
{
    int n = 2;
    int a[] = { 3, 7 };
     
    cout << product(a, n);
     
    return 0;
}

Java

// Java implementation of the approach
class GFG
{
     
    // Function to find product of all elements
    // in all subsets
    static int product(int a[], int n)
    {
        int ans = 1;
        int val = (int)Math.pow(2, n - 1);
         
        for (int i = 0; i < n; i++)
        {
            ans *= (int)Math.pow(a[i], val);
        }
        return ans;
    }
     
    // Driver Code
    public static void main (String[] args)
    {
        int n = 2;
        int a[] = { 3, 7 };
         
        System.out.println(product(a, n));
    }
}
 
// This code is contributed by AnkitRai01

Python3

# Python3 implementation of the approach
 
# Function to find product of
# all elements in all subsets
def product(a, n):
    ans = 1
    val = pow(2, n - 1)
 
 
    for i in range(n):
        ans *= pow(a[i], val)
 
    return ans
 
# Driver Code
n = 2
a = [3, 7]
 
print(product(a, n))
 
# This code is contributed by mohit kumar

C#

// C# implementation of the approach
using System;
 
class GFG
{
     
    // Function to find product of all elements
    // in all subsets
    static int product(int []a, int n)
    {
        int ans = 1;
        int val = (int)Math.Pow(2, n - 1);
         
        for (int i = 0; i < n; i++)
        {
            ans *= (int)Math.Pow(a[i], val);
        }
        return ans;
    }
     
    // Driver Code
    public static void Main ()
    {
        int n = 2;
        int []a = { 3, 7 };
         
        Console.WriteLine(product(a, n));
    }
}
 
// This code is contributed by anuj_67..

Javascript

<script>
 
// Javascript implementation of the approach
 
// Function to find product of all elements
// in all subsets
function product(a, n)
{
    var ans = 1;
    var val = Math.pow(2, n - 1);
     
    for (var i = 0; i < n; i++) {
        ans *= Math.pow(a[i], val);
    }
     
    return ans;
}
 
// Driver Code
var n = 2;
a = [ 3, 7 ]
  
document.write(product(a, n));
 
</script>
Producción: 

441

 

Complejidad de tiempo: O(N)

Espacio Auxiliar: O(1)
 

Publicación traducida automáticamente

Artículo escrito por spp____ 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 *