Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Функциональное программирование / Ленивые и бесконечные последовательности / Exercises / Последовательность Трибоначчи
Решение: Последовательность Трибоначчи
Вот один из возможных вариантов решения задачи.
Код
my @trib = 1, 1, 1, * + * + * ... *;
say @trib[^8];🦋 Исходный код можно найти в файле tribonacci.raku.
Вывод
(1 1 1 3 5 9 17 31)Комментарии
Замыкание
* + * + *складывает три предыдущих элемента, чтобы получить следующий, поэтому и начальных значений нужно три.Последовательность ленива, поэтому хранение её в
@tribи запрос@trib[^8]вычисляют лишь первые восемь чисел.
Навигация по курсу
← Последовательность Трибоначчи | Конкурентное программирование →