Курс по Raku / Функционално, паралелно, реактивно и уеб програмиране / Функционално програмиране / Мързеливи и безкрайни редици / Exercises / Редицата на Трибоначи

Решение: Редицата на Трибоначи

Ето едно възможно решение на задачата.

Код

my @trib = 1, 1, 1, * + * + * ... *;
say @trib[^8];

🦋 Намерете програмата във файла tribonacci.raku.

Изход

(1 1 1 3 5 9 17 31)

Коментари

  1. Затварянето * + * + * събира трите предишни елемента, за да произведе следващия, затова са нужни три начални стойности.

  2. Последователността е мързелива, така че съхраняването ѝ в @trib и заявката @trib[^8] изчисляват само първите осем числа.

Навигация в курса

Редицата на Трибоначи   |   Паралелно програмиране