โปรแกรมสองฟังก์ชันf,g
ของคุณควรประเมินพหุนามแรกในพหุนามที่สอง f(g(x))
(aka องค์ประกอบ (fog)(x)
ของสองชื่อประกอบด้วยหลายชื่อ)
รายละเอียด
อนุญาตให้สร้างเครื่องได้ คุณสามารถสมมติว่าการจัดรูปแบบที่เหมาะสมเป็นอินพุต / เอาต์พุต แต่รูปแบบอินพุตและเอาต์พุตควรตรงกัน เช่นการจัดรูปแบบเป็นสตริง
x^2+3x+5
หรือเป็นรายการของค่าสัมประสิทธิ์:
[1,3,5] or alternatively [5,3,1]
นอกจากนี้ชื่อพหุนามสามารถคาดเดาได้ว่าจะขยายอย่างเต็มที่และคาดว่าจะขยายออกอย่างเต็มที่
ตัวอย่าง
A(x) = x^2 + 3x + 5, B(y) = y+1
A(B(y)) = (y+1)^2 + 3(y+1) + 5 = y^2 + 5y + 9
A(x) = x^6 + x^2 + 1, B(y) = y^2 - y
A(B(y))= y^12 - 6y^11 + 15y^10 - 20y^9 + 15y^8 - 6y^7 + y^6 + y^4 - 2 y^3 + y^2 + 1
A(x) = 24x^3 - 144x^2 + 288x - 192, B(y) = y + 2
A(B(y)) = 24y^3
A(x) = 3x^4 - 36x^3 + 138x^2 - 180x + 27, B(y) = 2y + 3
A(B(y)) = 48y^4 - 96y^2
(.)
จะเป็นคำตอบใน Haskell คุณอาจหมายถึงการแสดงรายการของค่าสัมประสิทธิ์