Курс языка программирования 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. Оригинальный текст на английском языке.

Переводы этой страницы: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська