]]> ]]>

Числа Фибоначчи в APL

Пример для версий Dyalog APL 13.1

В данном примере используется анонимно D-функция, рекурсивно вызывающая сама себя. Первое выражение функции обрабатывает случай первых двух чисел Фибоначчи, равных единице. Для остальных чисел работает второе выражение, которое вызывает эту же D-функцию (функция ) для меньших значений аргументов и суммирует их. Первая строка ассоциирует массив чисел с переменной fib и ничего не выводит.

Во второй строке вычисленный массив чисел Фибоначчи выводится в нужном формате: к каждому элементу применяется функция, конкатенирующая его с запятой-разделителем, элементы получившегося массива конкатенируются друг с другом (,/) и к результату добавляется троеточие. Итоговый вывод этой команды выглядит следующим образом:

1 ,  1 ,  2 ,  3 ,  5 ,  8 ,  13 ,  21 ,  34 ,  55 ,  89 ,  144 ,  233 ,  377 ,  610 ,  987 , ...
fib{⍵≤2:1 ⋄ (∇⍵-1)+∇⍵-2}¨1+⍳16
((,/{, ', '}¨fib)),'...'

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам