RosettaCodeData/Task/Square-but-not-cube/Tcl/square-but-not-cube.tcl
2023-07-01 13:44:08 -04:00

24 lines
478 B
Tcl

proc squaregen {{i 0}} {
proc squaregen "{i [incr i]}" [info body squaregen]
expr $i * $i
}
proc is_cube {n} {
for {set i 1} {($i * $i * $i) < $n} {incr i} { }
expr ($i * $i * $i) == $n
}
set cubes {}
set noncubes {}
for {set s [squaregen]} {[llength $noncubes] < 30} {set s [squaregen]} {
if [is_cube $s] {
lappend cubes $s
} else {
lappend noncubes $s
}
}
puts "Squares but not cubes:"
puts $noncubes
puts {}
puts "Both squares and cubes:"
puts $cubes