Power set: Difference between revisions

Content added Content deleted
(→‎Perl : Module: ntheory: Add a loop over combinations)
No edit summary
Line 2,116: Line 2,116:
{two,three,four}
{two,three,four}
{one,two,three,four}</pre>
{one,two,three,four}</pre>

=={{header|PowerShell}}==
<lang PowerShell>
function power-set ($array) {
if($array) {
$n = $array.Count
function state($set, $cnt, $i){
if($cnt -lt $n) {
state $set ($cnt + 1) ($i+1)
state ($set+@($array[$i])) ($cnt + 1) ($i+1)
} else {
"$set"
}
}
$set = state @() 0 0
$power = 0..($set.Count-1) | foreach{@(0)}
$i = 0
$set | foreach{$power[$i++] = $_.Split()}
$power
} else {@()}

}
$powerset = power-set @(1,2,3,4)
"number of sets in powerset: $($powerset.Count)"
"sets in powerset:"
$powerset | foreach{"$_"}
$powerset2 = @(@(), @(@()))
"number of sets in powerset2: $($powerset2.Count)"
</lang>
<b>Output:</b>
<pre>
number of sets in powerset: 16
sets in powerset:

4
3
3 4
2
2 4
2 3
2 3 4
1
1 4
1 3
1 3 4
1 2
1 2 4
1 2 3
1 2 3 4
number of sets in powerset2: 2
</pre>


=={{header|Prolog}}==
=={{header|Prolog}}==