pat乙級1010
阿新 • • 發佈:2019-01-02
- 一元多項式求導 (25)
設計函式求一元多項式的導數。(注:xn(n為整數)的一階導數為n*xn-1。)
輸入格式:以指數遞降方式輸入多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。
輸出格式:以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。注意“零多項式”的指數和係數都是0,但是表示為“0 0”。
輸入樣例:
3 4 -5 2 6 1 -2 0
輸出樣例:
12 3 -10 1 6 0
失敗了無數次,最後百度到這個:
注意:記得考慮沒有輸入的情況。以及,輸入的只是常數項的情況。這個時候是要輸出”0 0″的。
#include<iostream>
using namespace std;
struct N{
int c;
int e;
}buf[2010],ans[2010];
int main(void){
int x,y,index=0,k=0;
while(cin<<x<<y){
buf[index].c=x;
buf[index++].e=y;
}
for(int i=0;i<index;i++){
if(buf[i].e){
ans[k].c=buf[i].c*buf[i].e;
ans[k++].e=buf[i].e-1 ;
}
}
if(k==0)
fout<<"0 0"<<endl;
for(int i=0;i<k;i++){
cout<<ans[i].c<<" "<<ans[i].e<<i-k+1?" ":"\n"
}
}