Skip to content
Related Articles

Related Articles

Number of distinct subsets of a set

View Discussion
Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 02 Aug, 2022
View Discussion
Improve Article
Save Article

Given an array of n distinct elements, count total number of subsets.

Examples: 

Input : {1, 2, 3}
Output : 8
Explanation:
the array contain total 3 element.its subset 
are {}, {1}, {2}, {3}, {1, 2}, {2, 3}, {3, 1}, {1, 2, 3}.
so the output is 8..

We know number of subsets of set of size n is 2n 

How does this formula work? 
For every element, we have two choices, we either pick it or do not pick it. So in total we have 2 * 2 * … (n times) choices which is 2n
Alternate explanation is : 

  • Number of subsets of size 0 = nC0 
  • Number of subsets of size 1 = nC1 
  • Number of subsets of size 2 = nC2 
  • ………………..
  • Total number of subsets = nC0 + nC1 + nC2 + …. + nCn = 2n

Please refer Sum of Binomial Coefficients for details. 

Implementation:

C++




// CPP program to count number of distinct
// subsets in an array of distinct numbers
#include <bits/stdc++.h>
using namespace std;
 
// Returns 2 ^ n
int subsetCount(int arr[], int n)
{
    return 1 << n;
}
 
/* Driver program to test above function */
int main()
{
    int A[] = { 1, 2, 3 };
    int n = sizeof(A) / sizeof(A[0]);
 
    cout << subsetCount(A, n);
    return 0;
}

Java




// Java program to count number of distinct
// subsets in an array of distinct numbers
 
class GFG {
     
    // Returns 2 ^ n
    static int subsetCount(int arr[], int n)
    {
        return 1 << n;
    }
     
    /* Driver program to test above function */
    public static void main(String[] args)
    {
        int A[] = { 1, 2, 3 };
        int n = A.length;
     
        System.out.println(subsetCount(A, n));
    }
}
 
// This code is contributed by Prerna Saini.

Python3




# Python3 program to count number
# of distinct subsets in an
# array of distinct numbers
import math
 
# Returns 2 ^ n
def subsetCount(arr, n):
 
    return 1 << n
     
# driver code
A = [ 1, 2, 3 ]
n = len(A)
print(subsetCount(A, n))
 
# This code is contributed by Gitanjali.

C#




// C# program to count number of distinct
// subsets in an array of distinct numbers
using System;
 
class GFG {
     
    // Returns 2 ^ n
    static int subsetCount(int []arr, int n)
    {
        return 1 << n;
    }
     
    // Driver program
    public static void Main()
    {
        int []A = { 1, 2, 3 };
        int n = A.Length;
     
        Console.WriteLine(subsetCount(A, n));
    }
}
 
// This code is contributed by vt_m.

PHP




<?php
// PHP program to count
// number of distinct
// subsets in an array
// of distinct numbers
 
// Returns 2 ^ n
function subsetCount($arr, $n)
{
    return 1 << $n;
}
 
// Driver Code
$A = array( 1, 2, 3 );
$n = sizeof($A);
echo(subsetCount($A, $n));
 
// This code is contributed by Ajit.
?>

Javascript




<script>
 
// JavaScript  program to count number of distinct
// subsets in an array of distinct numbers
 
// Returns 2 ^ n
    function subsetCount(arr, n)
    {
        return 1 << n;
    }
  
// Driver code
 
        
       let A = [ 1, 2, 3 ];
        let n = A.length;
       
        document.write(subsetCount(A, n));
 
</script>

Output: 

8

 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!