Posted to tcl by dbohdan at Sat May 09 18:44:24 GMT 2015view raw
- set num {1 2 3 4 5 6 7 8 9}
- set correct {}
- for { set i 0 } { $i < 3 ** ([llength $num] - 1) } { incr i } {
- set n $i
- set s {}
- set t $num
- while { [llength $t] > 0 } {
- append s [lindex $t 0]
- set t [lrange $t 1 end]
- switch -exact -- [expr { $n % 3 }] {
- 0 {}
- 1 { append s - }
- 2 { append s + }
- }
- set n [expr { $n / 3 }]
- }
- if { [expr $s] == 100 } {
- lappend correct $s
- }
- }
- puts [llength $correct]\n\t[join $correct \n\t]