Курс по Raku / Функционално, паралелно, реактивно и уеб програмиране / Функционално програмиране / Рекурсия / Exercises / Степен
Решение: Степен
Ето едно възможно решение на задачата.
Код
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.
Навигация в курса
← Степен | Сума на цифрите →