Курс языка программирования Raku / Приложение 🆕 / Порядок выполнения и функции / Подпрограммы и функциональный стиль / Exercises / Сумма цифр рекурсией
Решение: Сумма цифр рекурсией
Вот один из возможных вариантов решения задачи.
Код
sub digit-sum($n) {
return $n if $n < 10;
return $n % 10 + digit-sum($n div 10);
}
say digit-sum(12345);🦋 Исходный код можно найти в файле recursive-digit-sum.raku.
Вывод
15Комментарии
- Базовый случай — однозначное число, которое и есть собственная сумма
цифр. Иначе подпрограмма отделяет последнюю цифру с помощью
$n % 10и рекурсивно вызывает себя для остатка —$n div 10.