Odejmujemy otrzymany iloraz od odpowiednich członów oryginalnej dzielnej (należy pamiętać, że odejmowanie czegoś mającego znak minus odpowiada dodaniu czegoś ze znakiem plus), i zapisujemy rezultat pod spodem. Następnie „sprowadzamy” następny człon dzielnej.

Powtarzamy poprzednie trzy kroki, tylko tym razem używamy dwóch członów, które zostały zapisane jako dzielna.

Powtarzamy 4. Tym razem nie ma nic do sprowadzenia.

Wielomian powyżej kreski jest ilorazem a liczba, która pozostała, czyli 5, jest resztą

Kod void divPoly(double *Q, double *R, const double *A, const double *B, int &degQ, int &degR, const int degA, const int degB) { const double Eps = 1e-14; for (int i = 0; i <= degA; i++) R[i] = A[i]; degQ = degA - degB; degR = degB - 1; for (int j = 0; j <= degQ; j++)

Q[degQ - j] = R[degA - j] / B[degB]; for (int i = degA - j; i >= degQ - j; i--) R[i] -= Q[degQ - j] * B[i - degQ + j];

for (int i = degR - 1; i>=0; i--) if (fabs(R[i])<Eps) R[i] = 0; }

Linki zewnętrzne