Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування / Ліниві та нескінченні послідовності / Вправи / Послідовність Трибоначчі

Розв’язання: Послідовність Трибоначчі

Ось одне з можливих розв’язань задачі.

Код

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

🦋 Знайдіть програму у файлі tribonacci.raku.

Вивід

(1 1 1 3 5 9 17 31)

Коментарі

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

  2. Послідовність лінива, тож збереження її в @trib і запит @trib[^8] обчислюють лише вісім перших чисел.

Навігація курсом

Послідовність Трибоначчі   |   Конкурентне програмування