Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування / Рекурсія / Вправи / Степінь
Розв’язання: Степінь
Ось одне з можливих розв’язань задачі.
Код
sub power($base, $exp) {
$exp == 0 ?? 1 !! $base * power($base, $exp - 1);
}
say power(2, 10);🦋 Знайдіть програму у файлі power.raku.
Вивід
1024Коментарі
Базовий випадок повертає
1, коли показник досягає0, бо будь-яка основа в нульовому степені дорівнює одиниці.Рекурсивний крок множить
$baseнаpower($base, $exp - 1), відлущуючи щоразу один множник. Тожpower(2, 10)перемножує десять двійок, даючи1024.