題目:
設計函數求一元多項式的導數。(注:x^n
(n爲整數)的一階導數爲nx^n−1。)
輸入格式:
以指數遞降方式輸入多項式非零項係數和指數(絕對值均爲不超過 1000 的整數)。數字間以空格分隔。
輸出格式:
以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。注意“零多項式”的指數和係數都是 0,但是表示爲 0 0。
輸入樣例:
3 4 -5 2 6 1 -2 0
輸出樣例:
12 3 -10 1 6 0
代碼:
#include<iostream>
using namespace std;
int main(){
int xi,zhi,now;
int num[50],result[20]={0};
int i=0;
int all=0;
while(cin>>now){
//cout<<"讀入 ";
if(i%2==0){
xi=now;
//cout<<"讀入係數 ";
}
else{
zhi=now;
if(zhi==0&&i<2){
cout<<"0 0";
return 0;
}
//cout<<"讀入指數 ";
if(zhi!=0){
result[all]=xi*zhi;
all++;
result[all]=zhi-1;
//cout<<" 導數爲:"<<result[i]<<endl;
all++;
}
}
if(getchar()=='\n')
break;
i++;
}
//cout<<" 導數爲:"<<result[i]<<endl;
for(int j=0;j<all-1;j++){
cout<<result[j]<<" ";
}
if(all>0)
cout<<result[all-1];
}
注意:
1、測試點2、4:
輸入是降次輸入,如果第一個輸入的指數爲0,則導數爲零多項式,輸出0 0,return。
2、輸入輸出的是非零項,即如果某項指數爲0(常數),其倒數必爲0,不輸出。