Курс языка программирования Raku / Продвинутый уровень / Подробнее о встроенных типах / Последовательности / Exercises / Степени двойки
Решение: Степени двойки
Вот одно из возможных решений этой задачи.
Код
say (1, 2, 4 ... Inf).head(8);🦋 Исходный код можно найти в файле powers-of-two.raku.
Вывод
(1 2 4 8 16 32 64 128)Комментарии
Три начальных значения
1, 2, 4растут путём умножения, поэтому...распознаёт геометрическую последовательность; сInfв качестве конечной точки она никогда не останавливается сама по себе.head(8)извлекает только первые восемь значений. Поскольку последовательность ленивая, остальные значения никогда не генерируются — именно поэтому бесконечную последовательность безопасно записывать.
Навигация по курсу
← Степени двойки | Последние три →