Курс по 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.

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

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