Estou tendo problemas para implementar o método de Horner para diminuir o custo computacional dos cálculos de polinômios e, feito isso, usar o método de Newton para achar a raiz do polinômio No código, b armazenaria o valor do polinômio e c o valor da derivada n=len(a)-1 print("k\ta\tx\tpx") for k in range (1, iterMax): b=a[n] c=0 for i in range (n-1,1): c=b-(x*c) b=(x*b)+a b=x*b+a[0] if (b<epsilon and b>-epsilon): print ("raiz encontrada: ") print (x) return (0, x) x=x-(b/c) print("erro. Maximo de interações atingido") return (1, x) Ao aplicar o método de Newton (x=x-(b/c)), acusa erro dizendo que estou dividindo por zero, mas não entendo porque. Chamada da função: a = [3, -9, 0, 1] x0 = 0.5 epsilon = 0.0001 maxIter = 20 (houveErro, raiz) = newton_poli(a, x0, epsilon, maxIter) Obs: pelo que eu entendi, a lista a armazena os coeficientes de trás pra frente, ou seja, 3 é o termo independente e 1 é o termo que multiplica x³ Continue reading...