RosettaCodeData/Task/Power-set/Tcl/power-set-2.tcl

13 lines
254 B
Tcl
Raw Permalink Normal View History

2013-04-10 23:57:08 -07:00
proc powersetb set {
set res {}
for {set i 0} {$i < 2**[llength $set]} {incr i} {
set pos -1
set pset {}
foreach el $set {
if {$i & 1<<[incr pos]} {lappend pset $el}
}
lappend res $pset
}
return $res
}