Algoritmo de Briot-Ruffini, por vezes denominado apenas como regra de Ruffini, é um método de resolução de frações polinomiais, criado por Paolo Ruffini. Esse algoritmo consiste em efetuar a divisão fazendo cálculos apenas com coeficientes e só serve para divisões de um polinômio por um binômio da forma .
As divisões de polinômios por binômios, como por exemplo: , e , surgem em problemas de matemática mais frequentemente do que quaisquer outras divisões de polinômios e desempenham papel importante na pesquisa de zeros de funções e na resolução de equações.
Exemplo
Divisão de um Polinômio por x − a
Seja:
Queremos dividir P(x) por D(x) usando a regra de Ruffini. Primeiro observamos que D(x) não é um binômio da forma x − a, mas da forma x + a. Então reescrevemos D(x) deste modo:
Agora aplicamos o algoritmo:
1. Transcrevemos os coeficientes e a. Note que, como P(x) não contém um coeficiente para x, então escrevemos 0:
importjava.util.Scanner;publicclassBriotRuffiniAlgorithm{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print("Digite o grau do polinômio: ");intdegree=input.nextInt();double[]coefficients=newdouble[degree+1];System.out.println("Digite os coeficientes do polinômio, do termo de maior grau ao termo de menor grau:");for(inti=degree;i>=0;i--){System.out.print("x^"+i+": ");coefficients[i]=input.nextDouble();}System.out.print("Digite o valor de x para avaliar o polinômio: ");doublex=input.nextDouble();double[]result=briotRuffini(coefficients,x);System.out.print("Resultado: ");for(inti=0;i<result.length;i++){System.out.print(result[i]);if(i<result.length-1){System.out.print(", ");}}input.close();}publicstaticdouble[]briotRuffini(double[]coefficients,doublex){intdegree=coefficients.length-1;double[]result=newdouble[degree];result[0]=coefficients[degree];for(inti=degree-1;i>0;i--){result[i]=coefficients[i]+x*result[i-1];}returnresult;}}