洛谷P1067 多項式輸出題解
阿新 • • 發佈:2019-03-17
表示 輸入輸出格式 color clas none tin ios spl 正整數
題目描述
一元nn次多項式可用如下的表達式表示:
其中,a_ix^iai?xi稱為ii次項,a_iai? 稱為ii次項的系數。給出一個一元多項式各項的次數和系數,請按照如下規定的格式要求輸出該多項式:
-
多項式中自變量為xx,從左到右按照次數遞減順序給出多項式。
-
多項式中只包含系數不為00的項。
-
如果多項式nn次項系數為正,則多項式開頭不出現“++”號,如果多項式nn次項系
數為負,則多項式以“-−”號開頭。
4. 對於不是最高次的項,以“++”號或者“-−”號連接此項與前一項,分別表示此項
系數為正或者系數為負。緊跟一個正整數,表示此項系數的絕對值(如果一個高於00次的項,
其系數的絕對值為11,則無需輸出 11)。如果xx的指數大於11,則接下來緊跟的指數部分的形
式為“x^bxb”,其中 bb為 xx的指數;如果 xx的指數為11,則接下來緊跟的指數部分形式為“xx”;
如果 xx 的指數為00,則僅需輸出系數即可。
5. 多項式中,多項式的開頭、結尾不含多余的空格。
輸入輸出格式
輸入格式:
輸入共有 22 行
第一行11 個整數,nn,表示一元多項式的次數。
第二行有 n+1n+1個整數,其中第ii個整數表示第n-i+1n−i+1 次項的系數,每兩個整數之間用空格隔開。
輸出格式:
輸出共 11 行,按題目所述格式輸出多項式。
輸入輸出樣例
輸入樣例#1:5 100 -1 1 -3 0 10輸出樣例#1:
100x^5-x^4+x^3-3x^2+10輸入樣例#2:
3 -50 0 0 1輸出樣例#2:
-50x^3+1
說明
NOIP 2009 普及組 第一題
對於100%數據,0<=n<=100,-100<=系數<=100
CODE:
1 //畫一個數軸...-1 ...0...1.... 2 #include<iostream> 3View Code#include<cstdio> 4 using namespace std; 5 int n,xs; 6 int main() 7 { 8 cin>>n; //指數 9 cin>>xs; //系數 10 /*處理系數*/ 11 if(xs>1 || xs<-1)cout<<xs; 12 else if(xs==-1) cout<<"-"; 13 /*處理指數*/ 14 if (xs!=0) 15 { 16 if(n==1)cout<<"x"; 17 else if(n!=0)cout<<"x^"<<n; 18 } 19 for(int i=n-1;i>=1;i--) 20 { 21 cin>>xs; 22 /*處理系數*/ 23 if(xs==0)continue; //系數為0 24 if(xs>0) cout<<"+"; //系數>0 25 if(xs==-1)cout<<"-"; //系數為-1 26 else if(xs!=1) cout<<xs;//系數為除0,-1,1之外的數 27 /*處理指數*/ 28 if(i==1) cout<<"x"; 29 else if(i!=0) cout<<"x^"<<i; 30 } 31 cin>>xs; 32 /*僅處理系數*/ 33 if(xs>0)cout<<"+"; 34 if(xs!=0) cout<<xs; 35 }
洛谷P1067 多項式輸出題解