Числа Фибоначчи в Factor
Пример для версий
Factor 0.94
В этом примере используется рекурсивное вычисление чисел Фибоначчи. Слово fib
вычисляет n-ое число Фибоначчи: если аргумент не больше 1, он остается на стеке в качестве возвращаемого значения, иначе заменяется на сумму предыдущих чисел Фибоначчи. Слово bi
является сокращенной формой комбинатора cleave
и позволяет применить две цитаты (в данном случае вызовы слова fib
для меньших аргументов) к одному элементу стека (n
).
USING: formatting kernel math sequences ;
IN: fibonacci-example
: fib ( n -- fib(n) )
dup
1 >
[ [ 1 - fib ] [ 2 - fib ] bi + ]
when ;
16 iota [ 1 + fib "%d, " printf ] each
"...\n" printf
Комментарии
]]>blog comments powered by Disqus
]]>