Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування / Рекурсія / Вправи / Степінь

Розв’язання: Степінь

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

Код

sub power($base, $exp) {
    $exp == 0 ?? 1 !! $base * power($base, $exp - 1);
}

say power(2, 10);

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

Вивід

1024

Коментарі

  1. Базовий випадок повертає 1, коли показник досягає 0, бо будь-яка основа в нульовому степені дорівнює одиниці.

  2. Рекурсивний крок множить $base на power($base, $exp - 1), відлущуючи щоразу один множник. Тож power(2, 10) перемножує десять двійок, даючи 1024.

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

Степінь   |   Сума цифр