Answer to Question #199923 in Python for varun

Question #199923

Given polynomial, write a program that prints polynomial in Cix^Pi + Ci-1x^Pi-1 + .... + C1x + C0 format.


Input

The first line contains a single integer N.

Next N lines contain two integers Pi, Ci separated with space, where Pi denotes power and Ci denotes coefficient of Pi.


Output

Print the polynomial in the format Cix^Pi + Ci-1x^Pi-1 + .... + C1x + C0, where Pi's are powers in decreasing order, Ci is coefficient, and C0 is constant. There will be space before and after the plus or minus sign.

If the coeff is zero, then don't print the term.

If the term with the highest degree is negative, the term should represent -Cix^Pi.

For the term where power is 1, represent it as C1x instead of C1x^1.

If the polynomial degree is zero and the const term is also zero, then print 0 to represent the polynomial.

For term Cix^Pi, if the coeff of the term Ci is 1, print x^Pi instead of 1x^Pi.


Constraints

N <= 100 0 <= Pi < 1000 -1000 <= Ci <= 1000


Sample Input

5

0 2

1 3

2 1

4 7

3 6

Output:


7x^4 + 6x^3 + x^2 + 3x + 2
1
Expert's answer
2021-05-28T05:41:20-0400
Input:
5
0 2
1 3
2 1
4 7
3 6
Output:
7x^4 + 6x^3 + x^2 + 3x + 2 


n = int(input())


ans = ""


pol = {}
pw = []


for i in range(n):
    p, c = map(int, input().split())
    pw.append(p)
    pol[p] = c


pw.sort(reverse=True)


for i in pw:
    if i==0:
        if pol[i]>0: ans += f"+ {pol[i]} "
        elif pol[i]<0: ans += f"- {(-1)*pol[i]} "
    else:
        if i == 1:
            if pol[i]>0:
                if pol[i]==1:
                    ans += "+ x "
                else:
                    ans += f"+ {pol[i]}x "
            elif pol[i]<0: ans += f"- {(-1)*pol[i]}x "
        else:
            if pol[i]>0:
                if pol[i] == 1:
                    ans += f"+ x^{i} "
                else:
                    ans += f"+ {pol[i]}x^{i} "
            elif pol[i]<0:
                if pol[i] == -1:
                    ans += f"- x^{i} "
                else:
                    ans += f"- {(-1)*pol[i]}x^{i} "
        


if len(ans)>0: 
    if ans[0] == '-':
        print('-', end="")
        print(ans[2:])
    else:    
        print(ans[2:])
else:
    print(0)   

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS