Курс языка программирования Raku / Продвинутый уровень / Подробнее о встроенных типах / Последовательности / Exercises / Степени двойки

Решение: Степени двойки

Вот одно из возможных решений этой задачи.

Код

say (1, 2, 4 ... Inf).head(8);

🦋 Исходный код можно найти в файле powers-of-two.raku.

Вывод

(1 2 4 8 16 32 64 128)

Комментарии

  1. Три начальных значения 1, 2, 4 растут путём умножения, поэтому ... распознаёт геометрическую последовательность; с Inf в качестве конечной точки она никогда не останавливается сама по себе.

  2. head(8) извлекает только первые восемь значений. Поскольку последовательность ленивая, остальные значения никогда не генерируются — именно поэтому бесконечную последовательность безопасно записывать.

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

Степени двойки   |   Последние три