Рекурсия: вычисления суммы цифр введенного натурального числа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написать рекурсивную функцию вычисления суммы цифр натурального числа Число вводится пользователем

Решение задачи: «Рекурсия: вычисления суммы цифр введенного натурального числа»

textual
Листинг программы
int sum(int n){
 if(n) return n%10+sum(n/10);
 else return 0;
}

Объяснение кода листинга программы

В данном коде реализована функция sum, которая принимает на вход целое число n и рекурсивно вычисляет сумму цифр этого числа.

  1. Если n больше 0, то функция возвращает сумму последней цифры n (получается путем взятия остатка от деления n на 10) и рекурсивного вызова функции sum с аргументом n/10 (то есть n без последней цифры).
  2. Если n равно 0, то функция возвращает 0. Таким образом, список шагов для данного кода будет выглядеть следующим образом:
  3. Входное значение n больше 0.
    • Вычисляем последнюю цифру n путем взятия остатка от деления n на 10.
    • Рекурсивно вызываем функцию sum с аргументом n/10.
    • Возвращаем сумму последней цифры n и результат рекурсивного вызова.
  4. Входное значение n равно 0.
    • Возвращаем 0.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы