[Práctico 3][Ejercicio 10][Parte c] Caso borde con nuevo dígito en sucesor

[Práctico 3][Ejercicio 10][Parte c] Caso borde con nuevo dígito en sucesor

de Agustin Pomies Arias -
Número de respuestas: 2

Buenas,

Quería consultar acerca de la implementación de la función sucesor con el uso de foldr.

Conseguí calcular el sucesor en la amplia mayoría de los casos pero sucede que mi función falla en el siguiente caso:

sucesor [9, 9, 9, 9] = [0, 0, 0, 0]

o cualquiera de este tipo donde todos los dígitos de la representación son 9s.

Para tener en cuenta este caso, la función debería agregar un dígito 1 adicional al resolver la última llamada recursiva sobre la lista, solamente cuando el último dígito pasa de 9 a 10 (que termina siendo 0 por el cálculo (digito + 1) `rem` 10).

¿Debemos tener en cuenta este caso para el ejercicio?

En caso afirmativo, ¿puede lograrse esta implementación con la función foldr?

Gracias por cualquier respuesta.

En respuesta a Agustin Pomies Arias

Re: [Práctico 3][Ejercicio 10][Parte c] Caso borde con nuevo dígito en sucesor

de Marcos Viera - InCo -

Si, hay que tener en cuenta ese caso. Recuerda que el ejercicio pide implementar la función usando foldr.