Bỏ qua đến nội dung
Kho đề HSG Tin 9Đề thi cấp tỉnh/thành phố

Bài 3 · Lập trình

Lược đồ Horner

Điểm
5 điểm
Tên chương trình
Horner.*
Vào / Ra
Horner.INP → Horner.OUT

Đề bài

Để chia đa thức f(x)=anxn+an−1xn−1+⋯+a1x+a0f(x) = a_nx^n + a_{n-1}x^{n-1} + \dots + a_1x + a_0 cho nhị thức g(x)=x−cg(x) = x - c người ta thường sử dụng lược đồ Horner theo dạng bảng:

ana_n an−1a_{n-1} an−2a_{n-2} … a2a_2 a1a_1 a0a_0
cc bnb_n bn−1b_{n-1} bn−2b_{n-2} … b2b_2 b1b_1 b0b_0

Trong đó:
bn=anb_n = a_n, bn−1=c.bn+an−1b_{n-1} = c.b_n + a_{n-1}, bn−2=c.bn−1+an−2b_{n-2} = c.b_{n-1} + a_{n-2}, …, b1=c.b2+a1b_1 = c.b_2 + a_1, b0=c.b1+a0b_0 = c.b_1 + a_0

Hay ta viết:
bn=anb_n = a_n, bi=c.bi+1+ai  (i=0..n−1)\quad b_i = c.b_{i+1} + a_i \; (i = 0..n-1)

Khi đó ta có biến đổi đa thức:
f(x)=(x−c)(bnxn−1+bn−1xn−2+⋯+b1)+b0f(x) = (x - c)(b_nx^{n-1} + b_{n-1}x^{n-2} + \dots + b_1) + b_0

Từ đó ta có kết luận: x=cx = c là nghiệm của đa thức f(x)f(x) nếu b0=0b_0 = 0.

Hãy lập chương trình nhập vào các hệ số aia_i của đa thức f(x)f(x) và giá trị cc, tính các hệ số bib_i và cho biết cc có là nghiệm của đa thức f(x)f(x) hay không.

Dữ liệu vàoHorner.INP

Dữ liệu vào trong file Horner.INP có cấu trúc như sau:

  • Dòng đầu chứa số tự nhiên nn và số nguyên cc (n<100n < 100, ∣c∣<5000|c| < 5000).
  • n+1n+1 dòng tiếp theo mỗi dòng chứa một số nguyên lần lượt là các hệ số aia_i của đa thức f(x)f(x) với (∣ai∣<5000|a_i| < 5000) được sắp xếp từ ana_n đến a0a_0.

Kết quả raHorner.OUT

Dữ liệu ra là file Horner.OUT có cấu trúc như sau:

  • Dòng đầu tiên là kết luận: "c la nghiem" hoặc "c khong la nghiem".
  • n+1n+1 dòng tiếp theo, liệt kê các hệ số bib_i sắp xếp từ bnb_n đến b0b_0.

Ràng buộc

  • n<100n < 100, ∣c∣<5000|c| < 5000, ∣ai∣<5000|a_i| < 5000.

Ví dụ

Ví dụ 1

Dữ liệu vàoHorner.INP
3 2
1
-2
3
-6
Kết quả raHorner.OUT
2 la nghiem
1
0
3
0

Ví dụ 2

Dữ liệu vàoHorner.INP
2 1
3
-2
1
Kết quả raHorner.OUT
1 khong la nghiem
3
1
2

Thuộc đề thi

Kỳ thi chọn học sinh giỏi cấp tỉnh lớp 9 THCS khoá ngày 18-3-2019 — Môn thi: Tin học

Bình Định · Cấp tỉnh · Năm học 2018-2019