Курс языка программирования 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

Комментарии

  1. Базовый случай — однозначное число, которое и есть собственная сумма цифр. Иначе подпрограмма отделяет последнюю цифру с помощью $n % 10 и рекурсивно вызывает себя для остатка — $n div 10.

Навигация по курсу

Сумма цифр рекурсией   |   Композиция двух функций