Usando el tipo abstracto de los polinomios, definir la función
esRaizRuffini :: Int -> Polinomio Int -> Bool |
tal que esRaizRuffini r p
se verifica si r
es una raiz de p
, usando para ello el regla de Ruffini. Por ejemplo,
λ> ejPol = consPol 4 6 (consPol 1 2 polCero) λ> ejPol 6*x^4 + 2*x λ> esRaizRuffini 0 ejPol True λ> esRaizRuffini 1 ejPol False |
Soluciones
A continuación se muestran las soluciones en Haskell y las soluciones en Python.
module Pol_Reconocimiento_de_raices_por_la_regla_de_Ruffini where import TAD.Polinomio (Polinomio, consPol, polCero) import Pol_Regla_de_Ruffini (restoRuffini) esRaizRuffini :: Int -> Polinomio Int -> Bool esRaizRuffini r p = restoRuffini r p == 0 |
from src.Pol_Regla_de_Ruffini import restoRuffini from src.TAD.Polinomio import Polinomio, consPol, polCero def esRaizRuffini(r: int, p: Polinomio[int]) -> bool: return restoRuffini(r, p) == 0 |