Курс языка программирования Raku / Основы / Циклы / Упражнения / Факториал
Решение: Факториал
Факториал числа N
— это произведение целых чисел от 1 до N
включительно. Например, факториал числа 4 равен 1 * 2 * 3 * 4 = 24.
Код
my $n = 8;
my $f = 1;
$f *= $_ for 2..$n;
say $f;
🦋 Найдите программу в файле factorial.raku.
Вывод
Запустите программу несколько раз и попробуйте разные значения переменной $n
.
$ raku exercises/loops/factorial.raku
40320
Комментарии
Эта программа использует оператор *=
, который является сокращением для умножения с присваиванием: $x *= $y
эквивалентно $x = $x * $y
.
Вы можете использовать «полный» цикл вместо постфиксной формы:
my $n = 8;
my $f = 1;
for 2..$n -> $x {
$f *= $x;
}
say $f;
Подробнее на эту тему
Мы будем возвращаться к этой задаче несколько раз. В этой части курса мы также решим эту проблему рекурсивно.
Во второй части курса мы узнаем о так называемых операторах редукции, которые делают решение тривиальным. Также будет способ определить пользовательский оператор !
, чтобы можно было писать $n!
для вычисления факториала. Наконец, будет еще одна возможность увидеть интересное решение, когда мы будем говорить о клаузе where
.
Следующее упражнение
Навигация по курсу
← Проверка условий / Тернарный оператор | Приведение типов данных →
Эта страница автоматически переведена с помощью ChatGPT 4o. Оригинальный текст на английском языке.
Переводы этой страницы: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська