suma de dígitos |
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: