一个形如a0x^0+a1x^1+...+anx^n的一元多项式含有n+1项,每一项由系数和指数唯一确定,可表示成由系数项和指数项构成的一个二元组(系数,指数),一元多项式则可以表示成二元组的集合{(a0,0),(a1,1),(a2,2)...(an,n)},可看成是数据元素为二元组(系数,指数)的线性表,若将某一个一元多项式的二元组集合采用链式存储结构存储于带头结点的单链表中,请根据给定的x值,求解一元多项式的值。 例如:A(x)=3x^2-4x^6+6x^8+10x^9可表示成{(3,2),(-4,6),(6,8),(10,9)},含有4个元素的线性表,采用顺序表存储。 下列的createPolyList函数,用于创建含有n项的一元多项式的带头结点的单链表存储结构,getValue函数则根据给定的一元多项式顺序表L和x值,求解并返回一元多项式的值。请将程序补充完整。 【输入形式】 第一行:一元多项式的项数 第二行:一元多项式的每一项的系数项和指数项,中间用空格间隔 第三行:一元多项式的x的取值 【输出形式】计算结果 【样例输入】 4 3 2 -4 6 6 8 10 9 1 【样例输出】15
时间: 2024-02-21 07:00:42 浏览: 50
```python
class PolyNode:
def __init__(self, coef=0, expn=0):
self.coef = coef
self.expn = expn
self.next = None
def createPolyList(n, polyList):
head = PolyNode()
cur = head
for i in range(n):
coef, expn = polyList[i]
cur.next = PolyNode(coef, expn)
cur = cur.next
return head
def getValue(head, x):
cur = head.next
res = 0
while cur:
res += cur.coef * (x ** cur.expn)
cur = cur.next
return res
n = int(input())
polyList = []
for i in range(n):
coef, expn = map(int, input().split())
polyList.append((coef, expn))
x = int(input())
head = createPolyList(n, polyList)
print(getValue(head, x))
```