Mayor rectángulo
Las dimensiones de los rectángulos puede representarse por pares; por ejemplo, (5,3) representa a un rectángulo de base 5 y altura 3.
Definir la función
1 |
mayorRectangulo :: (Num a, Ord a) => (a,a) -> (a,a) -> (a,a) |
tal que (mayorRectangulo r1 r2)
es el rectángulo de mayor área entre r1
y r2
. Por ejemplo,
1 2 3 |
mayorRectangulo (4,6) (3,7) == (4,6) mayorRectangulo (4,6) (3,8) == (4,6) mayorRectangulo (4,6) (3,9) == (3,9) |
Soluciones
A continuación se muestran las soluciones en Haskell y las soluciones en Python.
1 2 3 4 |
mayorRectangulo :: (Num a, Ord a) => (a,a) -> (a,a) -> (a,a) mayorRectangulo (a,b) (c,d) | a*b >= c*d = (a,b) | otherwise = (c,d) |
El código se encuentra en GitHub.
1 2 3 4 5 6 7 |
def mayorRectangulo(r1: tuple[float, float], r2: tuple[float, float]) -> tuple[float, float]: (a, b) = r1 (c, d) = r2 if a*b >= c*d: return (a, b) return (c, d) |
El código se encuentra en GitHub.