proc Fibonacci {x} {
set n(0) 0; set n(1) 1
set i 2
while {$i <= $x} {
set n($i) [expr n($i-2) + n($i-1)]
incr i
}
return $n($i)
}
set y [Fibonacci 10]
puts "$y"
上記のプログラムのコンパイル中に以下のエラーが発生します。私を訂正してください
コードに基づく実用的なソリューションは次のとおりです。
proc Fibonacci {x} {
set n(0) 0; set n(1) 1
set i 2
while {$i <= $x} {
set fiboMinus1 $n([expr {$i - 1}])
set fiboMinus2 $n([expr {$i - 2}])
set n($i) [expr {$fiboMinus1 + $fiboMinus2}]
incr i
}
return $n($x)
}
set y [Fibonacci 10]
puts "$y"