設計函數求一元多項式的導數。(注:xn?(n為整數)的一階導數為nxn?1???。)
輸入格式:
以指數遞降方式輸入多項式非零項系數和指數(絕對值均為不超過 1000 的整數)。數字間以空格分隔。
輸出格式:
以與輸入相同的格式輸出導數多項式非零項的系數和指數。數字間以空格分隔,但結尾不能有多余空格。注意“零多項式”的指數和系數都是 0,但是表示為 0 0
。
輸入樣例:
3 4 -5 2 6 1 -2 0
輸出樣例:
12 3 -10 1 6 0
代碼:
#include<cstdio>
int main() {
int num[1001]= {0},x,y,count=0;
while(scanf("%d %d",&x,&y)!=EOF) {
num[y]=x;
}
num[0]=0;//刪除常數
for(int i=1; i<=1001; i++) {
if(num[i]!=0) {
num[i-1]=(i*num[i]);//求導
num[i]=0;//求導前的數刪除
count++;
}
}
if(count==0) printf("0 0");//注意這個是全部都為0的情況
else {
for(int i=1001; i>=0; i--) {
if(num[i]!=0) {
printf("%d %d",num[i],i);
count--;
if(count!=0) {
printf(" ");//按照個數輸出空格,很有用的技巧!!!
}
}
}
}
return 0;
}