Saltar al contenido

cómo encontrar la suma de dígitos de un número usando el ejemplo de código de recursividad

Ejemplo 1: Suma de dígitos de un número usando la función recursiva c

/*  
 * C Program to find Sum of Digits of a Number using Recursion
 */
#include <stdio.h>
 
int sum (int a);
 
int main()
{
    int num, result;
 
    printf("Enter the number: ");
    scanf("%d", &num);
    result = sum(num);
    printf("Sum of digits in %d is %dn", num, result);
    return 0;
}
 
int sum (int num)
{
    if (num != 0)
    {
        return (num % 10 + sum (num / 10));
    }
    else
    {
       return 0;
    }
}

Ejemplo 2: suma de dígitos python recursiva

digit_sum = lambda s: sum(int(digit) for digit in str(s)) #without recursion

#sum of digits using recursion

dsum = 0 # we define dsum outside of the function so its value isn't reset every time the function gets called recursivley

def rdigit_sum(s):
    global dsum # making dsum 'global' allows us to use it a function
    if s: # checks if s has digits to add to dsum
        dsum += s%10 # adds the current units digit to dsum
        s = s//10 # removes the current units digit
    else: # if there are no digits left
        s = dsum  # this block reassigns s to dsum, then resets dsum to 0 so dsum doesn't already have a value if this function is called more than once in a program
        dsum = 0
        return s  
    return rdigit_sum(s) # this is the 'recursive' part of the program that calls the function again
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *