Related Articles
Product of values of all possible non-empty subsets of given Array
• Last Updated : 01 Apr, 2021

Given an array of size N. The task is to find the product of values of all possible non-empty subsets of the given array.
Examples:

Input: N = 2, arr[] = {3, 7}
Output: 441
All non empty subsets are:

3, 7
Product = 3 * 7 * 3 * 7 = 441
Input: N = 1, arr[] = {4}
Output:

Approach: On careful observation it can be deduced that number of occurrences of every element across all subsets is 2N-1. Therefore, in the final product, every element of the array will be multiplied to itself by 2N-1 times.

`Product = a2N-1*a2N-1********a[N-1]2N-1`

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach``#include ``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

 ``
Output:
`441`

Time Complexity: O(N)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up