btvn.vn
Tìm kiếm Đăng nhập

Biểu diễn đa thức bằng dãy hệ số

Lưu trên thiết bị này
Chuyên đề lựa chọn CS: Kĩ thuật duyệt · Chọn bài khác

Một vị trí hệ số ứng với một bậc

Đa thức bậc k được biểu diễn bởi k+1 hệ số từ bậc cao xuống thấp. Ví dụ [3,0,−2] có ba vị trí: | Vị trí | Hệ số | Hạng tử | |---|---|---| | 0 | 3 | $3x^2$ | | 1 | 0 | $0x$ | | 2 | −2 | $-2$ | Đa thức là $3x^2-2$. Hạng tử hệ số 0 được bỏ khi in, nhưng vị trí ấy vẫn có trong dãy hệ số để giữ đúng số mũ. Dãy [0,3,−2] chỉ cho $3x-2$, không có bậc 2; khi yêu cầu bậc 2 phải loại dãy có hệ số đầu 0.

Đổi dãy hệ số thành biểu thức dễ đọc

```python def format_polynomial(coefs): terms = [] degree = len(coefs) - 1 for i, value in enumerate(coefs): if value == 0: continue power = degree - i magnitude = format(value, 'f').lstrip('-') if '.' in magnitude: magnitude = magnitude.rstrip('0').rstrip('.') coefficient = '' if power > 0 and value in (1, -1) else magnitude variable = '' if power == 0 else ('x' if power == 1 else f'x^{power}') sign = (' - ' if terms else '-') if value < 0 else (' + ' if terms else '') terms.append(sign + coefficient + variable) return ''.join(terms) if terms else '0' ``` power=len(coefs)−1−i là số mũ của hệ số ở vị trí i. Bỏ hạng tử có value==0; còn lại dùng dấu phù hợp và biến x theo số mũ. Hệ số 1 hoặc −1 ở hạng tử có x được viết gọn thành x hoặc −x; ở hạng tử hằng vẫn in 1 hoặc −1. Mã tải đọc số nguyên/thập phân theo giá trị số. Vì vậy 1 và 1.0 là cùng giá trị,0.0 vẫn là 0 khi kiểm bậc và tránh kết quả trùng. Hàm in giữ các chữ số thập phân của hệ số, không đổi hệ số chỉ vì cách nhập khác nhau.

Bài luyện

Dãy [3,0,−2] theo thứ tự bậc cao xuống thấp biểu diễn gì?
Chọn một đáp án

Bài luyện

Vì sao [0,3,−2] không đáp ứng yêu cầu đa thức bậc 2?
Chọn một đáp án

Bài luyện

Khi nhập hệ số 1 và 1.0, nên xem đây là gì khi tránh đa thức trùng?
Chọn một đáp án

Đang học