設計函數求一元多項式的導數。(注:(爲整數)的一階導數爲。)
輸入格式:
以指數遞降方式輸入多項式非零項係數和指數(絕對值均爲不超過 1000 的整數)。數字間以空格分隔。
輸出格式:
以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。注意“零多項式”的指數和係數都是 0,但是表示爲 0 0
。
輸入樣例:
3 4 -5 2 6 1 -2 0
輸出樣例:
12 3 -10 1 6 0
這個題真是坑啊!!!!!注意:
- 係數爲0的項不用輸出(包括了常數項求導之後的項);用條件判斷continue即可
- 如果求導後一項也沒有,輸出
0 0,即題目中的零多項式;用計數
格式控制,結尾不能有空格;將空格輸出在前面
#include <cstdio>
int x[1010][2];
int main(){
int k=0;
while(scanf("%d%d",&x[k][0],&x[k][1])!=EOF){
x[k][0]=x[k][0]*x[k][1];
x[k][1]=x[k][1]-1;
k++;
}
int j=0;
for(int i=0;i<k;i++) {
if(x[i][0]==0) continue; //所有係數爲0的直接不輸出
else{
if(j==0) printf("%d %d",x[i][0],x[i][1]);
else printf(" %d %d",x[i][0],x[i][1]); //因爲不知道最後一項是哪個,必須在開頭輸出空格
j++; //要計輸出的次數
}
}
if(j==0) printf("0 0"); //一個也沒有的時候輸出0 0
return 0;
}
題目鏈接:https://pintia.cn/problem-sets/994805260223102976/problems/994805313708867584