(PAT乙級)一元多項式求導(Python)
阿新 • • 發佈:2019-01-01
設計函式求一元多項式的導數。(注:xn(n為整數)的一階導數為n*xn-1。)
輸入格式:以指數遞降方式輸入多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。
輸出格式:以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。注意“零多項式”的指數和係數都是0,但是表示為“0 0”。
輸入樣例:3 4 -5 2 6 1 -2 0輸出樣例:
12 3 -10 1 6 0
這題要注意細節吧,要考慮三種情況:
1.只有一個常數
2.係數為0,指數為任意整數
3.係數和指數都不為0
n = input().split() lis = [] if len(n) == 2 and int(n[1]) ==0:#考慮只有一個常數的情況,即可變為零多項式 lis.extend(['0', '0']) else: for x in n[0::2]: if int(x) == 0:#考慮任何係數為0的情況,即零多項式 lis.extend(['0','0']) else: if int(n[n.index(x)+1]) !=0:#考慮係數和冪都不為0的情況 xishu = str(int(x)*int(n[n.index(x)+1])) lis.append(xishu) mi = str(int(n[n.index(x)+1])-1) lis.append(mi) print(' '.join(lis))