Ayuda con programa
Publicado por Carlos (1 intervención) el 26/09/2017 01:09:25
Alguien me podría explicar este programa linea por linea, soy nuevo programando en haskell y no
entiendo mucho su lógica. Su función es convertir numero enteros a romanos,
pero no se como hace para convertirlos.
Saludos.
entiendo mucho su lógica. Su función es convertir numero enteros a romanos,
pero no se como hace para convertirlos.
1
2
3
4
5
6
7
8
9
10
11
valores = [(10,"X"), (9,"IX"), (5,"V"), (4,"IV"), (1,"I")]
numRomano :: Integer -> String
numRomano 0 = "N"
numRomano x = numRomano1 x
numRomano1 :: Integer -> String
numRomano1 x
| x == 0 = ""
| x > 0 = b ++ numRomano1 (x - a)
where (a, b) = head $ filter ((<= x) . fst) valores
Saludos.
Valora esta pregunta


0