題目描述:
設計函數求一元多項式的導數。(注:xn(n為整數)的一階導數為n*xn-1。)
輸入格式:
以指數遞降方式輸入多項式非零項系數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。
輸出格式:
以與輸入相同的格式輸出導數多項式非零項的系數和指數。數字間以空格分隔,但結尾不能有多余空格。注意“零多項式”的指數和系數都是0,但是表示為“0 0”。
輸入樣例:
3 4 -5 2 6 1 -2 0
輸出樣例:
12 3 -10 1 6 0
代碼如下:
#include <cstdio>
int main()
{
int m,n;
int flag=1;
while(scanf("%d %d",&m,&n)!=EOF){
if(n>0){
if(flag==1){
printf("%d %d",m*n,n-1);
flag=0;
}else{
printf(" %d %d",m*n,n-1);
}
}
}
if(flag==1)
printf("0 0");
return 0;
}
思路解析:
看着代碼可能挺簡單的。(= =我可是想了好久。還有中間就一個測試點超時了好多次不給過呢。)這題不要把所有的數字存到一個數組里,這道題應該一組一組的來分析,也就是一個系數一個指數的來分析,我看好多人都存到一個數組里的,代碼麻煩死啦~。本題的flag是為了挑出第一個,第一個有了就把flag改為0,主要是差在輸出的空格。一看代碼便知。flag還用來確定是不是題目里所謂的“零多項式”。如果是就輸出0 0。
