Número de raíces de la ecuación de segundo grado
Definir la función
numeroDeRaices :: (Num t, Ord t) => t -> t -> t -> Int
tal que (numeroDeRaices a b c)
es el número de raíces reales de la ecuación [latex]ax^2 + bx + c = 0[/latex]. Por ejemplo,
numeroDeRaices 2 0 3 == 0 numeroDeRaices 4 4 1 == 1 numeroDeRaices 5 23 12 == 2
Soluciones
A continuación se muestran las soluciones en Haskell y las soluciones en Python.
Soluciones en Haskell
numeroDeRaices :: (Num t, Ord t) => t -> t -> t -> Int numeroDeRaices a b c | d < 0 = 0 | d == 0 = 1 | otherwise = 2 where d = b^2-4*a*c
El código se encuentra en GitHub.
Soluciones en Python
def numeroDeRaices(a: float, b: float, c: float) -> float: d = b ** 2 - 4 * a * c if d < 0: return 0 if d == 0: return 1 return 2
El código se encuentra en GitHub.
Comentarios
- En Haskell se usa un entorno local con
where d = b^2-4*a*c
y en Python se usa la asignaciónd = b ** 2 - 4 * a * c
.