n = int(input())
lst = list(map(int, input().split()))
strr = ''
for i in range(len(lst)):
if i == len(lst) - 1:
break
if lst[i] > 1: # 大于1就要写上前面呗
if n == 1:
strr += str(lst[i]) + "x+"
else:
strr += str(lst[i]) + "x^%d+" % n
elif lst[i] == 1: # 等于1的时候前面不就不写
if n == 1:
strr += "x+"
else:
strr += "x^%d+" % n
elif lst[i] < -1:
if n == 1: # 多一个加号 就得删了
strr = strr[:-1]
strr += str(lst[i]) + "x+"
else:
strr = strr[:-1]
strr += str(lst[i]) + "x^%d+" % n
elif lst[i] == -1:
if n == 1:
strr = strr[:-1]
strr += "-x+"
else:
strr = strr[:-1]
strr += "-x^%d+" % n
else:
strr += '' # 要是0不就是不写吗
n -= 1 # 每次减一不就是次方吗
if lst[-1] == 0: # 处理最后一个
print(strr[:-1])
if lst[-1] > 0:
strr += str(lst[-1])
print(strr)
if lst[-1] < 0:
strr = strr[:-1]
strr += str(lst[-1])
print(strr)
洛谷 P1067 [NOIP2009 普及组] 多项式输出 Python题解
于 2022-05-10 16:08:19 首次发布