Thử thách
Thách thức là viết một chương trình lấy các hệ số của bất kỳ phương trình đa thức bậc n nào làm đầu vào và trả về các giá trị tích phân của x mà phương trình giữ đúng. Các hệ số sẽ được cung cấp làm đầu vào theo thứ tự giảm hoặc tăng công suất. Bạn có thể giả sử tất cả các hệ số là số nguyên .
Đầu vào và đầu ra
Đầu vào sẽ là các hệ số của phương trình theo thứ tự công suất giảm hoặc tăng. Độ của phương trình, nghĩa là công suất cực đại của x, luôn nhỏ hơn 1 so với tổng không có phần tử nào trong đầu vào.
Ví dụ:
[1,2,3,4,5] -> represents x^4 + 2x^3 + 3x^2 + 4x + 5 = 0 (degree = 4, as there are 5 elements)
[4,0,0,3] -> represents 4x^3 + 3 = 0 (degree = 3, as there are 3+1 = 4 elements)
Đầu ra của bạn chỉ nên là các giá trị tích phân riêng của x thỏa mãn phương trình đã cho. Tất cả các hệ số đầu vào là số nguyên và đa thức đầu vào sẽ không phải là đa thức bằng không . Nếu không có giải pháp cho phương trình đã cho, thì đầu ra không xác định.
Nếu một phương trình có gốc lặp lại, chỉ hiển thị gốc cụ thể đó một lần. Bạn có thể xuất các giá trị theo bất kỳ thứ tự nào. Ngoài ra, giả sử rằng đầu vào sẽ chứa ít nhất 2 số.
Ví dụ
[1,5,6] -> (-3,-2)
[10,-42,8] -> (4)
[1,-2,0] -> (0,2)
[1, 1, -39, -121, -10, 168] -> (-4, -3, -2, 1, 7)
[1, 0, -13, 0, 36] -> (-3, -2, 2, 3)
[1,-5] -> (5)
[1,2,3] -> -
Lưu ý rằng phương trình trong ví dụ thứ hai cũng có gốc 0,2, nhưng nó không được hiển thị vì 0,2 không phải là số nguyên.
Chấm điểm
Đây là mã golf , vì vậy mã ngắn nhất (tính bằng byte) sẽ thắng!