Suma de los dígitos de un numero entero

suma de dígitos
Dado un número n entero se separa el primer dígito haciendo uso de la función mod n 10, para luego este sumar al cociente de la división del numero n entre 10, (div n 10).

Código fuente

suma::Int->Int

suma 0=0

suma n=(mod n 10)+suma(div n 10)

suma::Int->Int

Esta función de nombre suma, realiza la lectura de un numero entero, y de la misma forma devuelve un numero entero.

suma 0=0

El caso básico de este programa consiste en que cuando la variable n asuma el valor de 0 la función devolverá el valor de 0.


suma n=(mod n 10)+suma(div n 10)


Este es el caso recursivo, que emplea las funciones mod y div, mod n 10 devuelve el residuo de la división entre un número n y 10, a este resultado se suma nuevamente el resultado de la función suma, con la diferencia de que el próximo valor de la variable n será el resultado de div n 10. A este resultado se continúa sumando, realizando el mismo proceso hasta que se llegue al caso básico.

Artículos relacionados:

0 comentarios :