In [1]:
from IPython.display import display, Math
def show_math(polynomial_str):
latex_polynomial = convert_to_latex(polynomial_str)
display(Math(latex_polynomial))
def convert_to_latex(poly_str):
latex_str = poly_str.replace("x^0", "").replace("x^1", "x")
latex_str = latex_str.replace(" + -", " - ").replace(" + ", " + ")
return latex_str.strip()
In [2]:
def nested_multi(a: list[float], x: float):
n = len(a)
polynomial_terms = []
for i in range(n):
polynomial_terms.append(f"{a[i]}x^{n - i - 1}")
polynomial_str = " + ".join(polynomial_terms)
show_math(polynomial_str)
res = 0
for i in range(n):
res = res * x + a[i]
return res
nested_multi([2, 3, -3, 5, -1], 2)
$\displaystyle 2x^4 + 3x^3 - 3x^2 + 5x - 1$
Out[2]:
53