How to resolve the algorithm Power set step by step in the J programming language
How to resolve the algorithm Power set step by step in the J programming language
Table of Contents
Problem Statement
A set is a collection (container) of certain values, without any particular order, and no repeated values. It corresponds with a finite set in mathematics. A set can be implemented as an associative array (partial mapping) in which the value of each key-value pair is ignored. Given a set S, the power set (or powerset) of S, written P(S), or 2S, is the set of all subsets of S.
By using a library or built-in set type, or by defining a set type with necessary operations, write a function with a set S as input that yields the power set 2S of S.
For example, the power set of {1,2,3,4} is For a set which contains n elements, the corresponding power set has 2n elements, including the edge cases of empty set. The power set of the empty set is the set which contains itself (20 = 1): And the power set of the set which contains only the empty set, has two subsets, the empty set and the set which contains the empty set (21 = 2):
Extra credit: Demonstrate that your language supports these last two powersets.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Power set step by step in the J programming language
Source code in the j programming language
ps =: #~ 2 #:@i.@^ #
ps 'ACE'
E
C
CE
A
AE
AC
ACE
~.1 2 3 2 1
1 2 3
#ps 1 2 3 2 1
32
#ps ~.1 2 3 2 1
8
You may also check:How to resolve the algorithm Hofstadter Q sequence step by step in the RPL programming language
You may also check:How to resolve the algorithm Sorting algorithms/Merge sort step by step in the Dart programming language
You may also check:How to resolve the algorithm Random number generator (included) step by step in the Phix programming language
You may also check:How to resolve the algorithm Program name step by step in the FreeBASIC programming language
You may also check:How to resolve the algorithm Special variables step by step in the NetRexx programming language