Número de raíces de la ecuación de segundo grado
Definir la función
1 |
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 . Por ejemplo,
1 2 3 |
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.
1 2 3 4 5 |
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.
1 2 3 4 5 6 7 |
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
.