Числа Фибоначчи в Tcl
Пример для версий
ActiveTcl 8.5,
JTcl 2.1.0,
Tcl 8.4,
Tcl 8.5.7
Для вычисления чисел используется хвостовая рекурсия. Команда eval
позволяет вычислить результат вызова функции fib
с заданными аргументами без объявления fib
в определенном пространстве имен.
proc fib {f1 f2 n} {
if {$n==0} {
return $f1
} else {
return [eval fib $f2 [expr {$f1 + $f2}] [expr {$n - 1}]]
}
}
set s ""
for {set i 0} {$i < 16} {incr i} {
append s [eval fib 1 1 $i] ", "
}
puts "$s..."
Комментарии
]]>blog comments powered by Disqus
]]>