Power set: Difference between revisions

no edit summary
(Adding Fōrmulæ)
No edit summary
Line 31:
'''Extra credit: ''' Demonstrate that your language supports these last two powersets.
<br><br>
 
=={{header|ABAP}}==
 
This works for ABAP Version 7.40 and above
 
<lang ABAP>
report z_powerset.
 
write `P(empty set) ->`.
perform calculate_powerset using ``.
new-line.
 
write `P({ empty set }) ->`.
perform calculate_powerset using `{}`.
new-line.
 
write `P({ 1 2 3 4 }) ->`.
perform calculate_powerset using `1234`.
new-line.
 
form calculate_powerset using set type string.
data(powerset) = value stringtab( ( `` ) ).
 
data(index) = 0.
 
if set = `{}`.
append `{}` to powerset.
 
else.
do strlen( set ) times.
data(element) = set+index(1).
 
do lines( powerset ) times.
append powerset[ sy-index ] && element to powerset.
enddo.
 
index = index + 1.
enddo.
endif.
 
write `{`.
loop at powerset assigning field-symbol(<subset>).
write `{` && <subset> && `}`.
endloop.
write `}`.
endform.
</lang>
 
{{out}}
 
<pre>
P(empty set) -> { {} }
P({ empty set }) -> { {} {{}} }
P({ 1 2 3 4 }) -> { {} {1} {2} {12} {3} {13} {23} {123} {4} {14} {24} {124} {34} {134} {234} {1234} }
</pre>
 
=={{header|Ada}}==
Anonymous user