Enunciado
-- Recientemente se publicó en la Red un pequeño test de inteligencia
-- cuyo objetivo consistía en descubrir una función a partir de una
-- colección de ejemplos. Los ejemplos eran los siguientes
-- f 6 4 == 210
-- f 9 2 == 711
-- f 8 5 == 313
-- f 5 2 == 37
-- f 7 6 == 113
-- f 9 8 == 117
-- f 10 6 == 416
-- f 15 3 == 1218
--
-- Definir la función
-- f :: Int -> Int -> Int
-- tal que f cubra los ejemplos anteriores y la definición de f sea lo
-- más corta posible (en número de palabras). |
-- Recientemente se publicó en la Red un pequeño test de inteligencia
-- cuyo objetivo consistía en descubrir una función a partir de una
-- colección de ejemplos. Los ejemplos eran los siguientes
-- f 6 4 == 210
-- f 9 2 == 711
-- f 8 5 == 313
-- f 5 2 == 37
-- f 7 6 == 113
-- f 9 8 == 117
-- f 10 6 == 416
-- f 15 3 == 1218
--
-- Definir la función
-- f :: Int -> Int -> Int
-- tal que f cubra los ejemplos anteriores y la definición de f sea lo
-- más corta posible (en número de palabras).
Soluciones
f1 :: Int -> Int -> Int
f1 x y = read (show (x-y) ++ show (x+y)) |
f1 :: Int -> Int -> Int
f1 x y = read (show (x-y) ++ show (x+y))
Se puede imprimir o compartir con
No sé si estará muy mal, pero al menos cumple para todos los ejemplos.