You are on page 1of 1

toanpbc.hnsv.

com HXH
Page 1/1
Một số ví dụ về thuật toán HORNER
Ví dụ 1. Tính giá trị đa thức P(x) = 5x3 + 4x2 – 3x + 7, khi x = 2
5 4 -3 7
2 5 A = 14 B = 25 C = 57
Chú ý: A = 14 là kết quả của 5*2 + 4
B = 25 là kết quả của 14*2+(-3)
C = 57 là kết quả của 25*2+7,.
C = P(2) = 57, là đáp số,
và là số dư khi chia đa thưc P(x) cho (x-2),
với thương số là 5x2 + 14x +25.

Quy luật: Trong bảng Horner, cột đầu bên dưới là giá trị của x, ở dòng trên kể từ cột
2 trở đi là các hệ số của đa thức bậc giảm dần, ở cột thứ hai hai số trên dưới bằng
nhau...và ta lần lượt tính A,B,C,... như ví dụ đã làm.

Ví dụ 2. Nhẩm nghiệm của phương trình: x3 + 2x 2 - 3x – 10 = 0.


Ta lấy các ước số của 7 để thử. Đó là các số 1, -1, 2, -2, 5, -5, 10, -10
Rõ ràng là: P(1) = 1+2-3-10 = -10 ≠ 0, nên 1 không là nghiệm.
P(-1) = 1-2+3-10 = -8 ≠ 0, nên 1 không là nghiệm.
P(2) = ? Ta dùng lược đồ Horner:
1 2 -3 -10
2 1 A=4 B=5 C=0
Chú ý : A = 1*2 + 2
B = 4*2 + (-3)
C = 5*2 + (-10)
tức là P(2) = 0, nên 2 là nghiệm của phương trình đã cho, và khi chi vế trái cho (x-2)
thì được x2 +4x + 5, tức là phương trình có thể viết lại dưới dạng:
(x-2).(x2 + 4x + 5) = 0.
2
Phưong trình x + 4x + 5 = 0 vô nghiệm).

Ví dụ 3. Đổi số nhị phân (1110101)2 thành số thập phân.


Ta có : (1110101)2 = 1*26 + 1*25 + 1*24 + 0*23 +1*22 + 0*2 + 1 là P(2), trong đó:
P(x) = 1*x6 + 1*x5 + 1*x4 + 0*x3 +1*x2 + 0*x + 1. Do đó có thể áp dụng lược đồ
Horner:
1 1 1 0 1 0 1
2 1 A=3 B=7 C = 14 D = 29 E = 58 F = 117
Ta lần lượt tính: A = 1*2 + 1 = 3,
B = 3*2 + 1 = 7,
C = 7*2 + 0 = 14,
D = 14*2 + 1 =29,
E = 29*2 + 0 = 58,
F = 58*2 + 1 = 117.

Ví dụ 4. Đổi số thập phân 117 sang nhị phân:


Tạm thời dùng xâu ký tự để viêt kết quả: Mới đầu cho kq:=’’;
117 chia 2 được 58 dư 1 => kq: = ’1’ + ’’ = ‘1’
58 chia 2 được 29 dư 0 => kq: = ’0’ +’1’ = ‘01’
29 chia 2 được 14 dư 1 => kq: = ’1’ + ‘01’ = ‘101’
14 chia 2 được 7 dư 0 => kq: = ’0’ + ‘101’ = ‘0101’
7 chia 2 được 3 dư 1 => kq: = ’1’ + ‘0101’ = ‘10101’
3 chia 2 được 1 dư 1 => kq: = ’1’ + ‘10101’ = ‘110101’
1 chia 2 được 0 dư 1 => kq: = ‘1’ + ‘11010101’ = ‘1110101’.
Đáp số: 117 = (1110101)2.

You might also like