一元nn次多項式可用如下的表示式表示:
f(x)=a_nx^n+a_x^+\cdots +a_1x+a_0,a_n\ne 0f(x)=anxn+an−1xn−1+⋯+a1x+a0,an≠0
其中,a_ix^iaixi稱為ii次項,a_iai稱為ii次項的係數。給出乙個一元多項式各項的次數和係數,請按照如下規定的格式要求輸出該多項式:
多項式中自變數為xx,從左到右按照次數遞減順序給出多項式。
多項式中只包含係數不為00的項。
如果多項式nn次項係數為正,則多項式開頭不出現「+」號,如果多項式nn次項係數為負,則多項式以「-」號開頭。
對於不是最高次的項,以「+」號或者「-」號連線此項與前一項,分別表示此項係數為正或者係數為負。緊跟乙個正整數,表示此項係數的絕對值(如果乙個高於00次的項,其係數的絕對值為11,則無需輸出 11)。如果xx的指數大於11,則接下來緊跟的指數部分的形式為「x^bxb」,其中 bb為 xx的指數;如果 xx的指數為11,則接下來緊跟的指數部分形式為「xx」;如果 xx 的指數為00,則僅需輸出係數即可。
多項式中,多項式的開頭、結尾不含多餘的空格。
輸入格式:
輸入共有 22 行
第一行11 個整數,nn,表示一元多項式的次數。
第二行有 n+1n+1個整數,其中第ii個整數表示第n-i+1n−i+1 次項的係數,每兩個整數之間用空格隔開。
輸出格式:
輸出共 11 行,按題目所述格式輸出多項式。
輸入樣例#1: 複製
5輸出樣例#1: 複製100 -1 1 -3 0 10
100x^5-x^4+x^3-3x^2+10輸入樣例#2: 複製
3輸出樣例#2: 複製-50 0 0 1
-50x^3+1noip 2009 普及組 第一題
對於100%資料,0 \le n \le 1000≤n≤100,-100 \le−100≤係數\le 100≤100
題解:這題真是口區心心。。。
一開始以為很簡單。後來從50->40--40--40分,最後一口氣ac了.
自己敲幾個 01 01 11 00之類的資料除錯即可。
看了題解說倒數第二項因為是一次方所以才知道要特殊處理orz
而且,更坑的是,它未必就一定是 第一項最高次沒有符號,而是第一次出現的那一項沒有加號,所以用nosign變數記錄是否出現了第乙個項,同時如果全是零,也要特判輸出0.
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include7 #include 8 #include 9 #include 10 #include
11 #include 12 #include 13 #include 14 #include 15
#define maxn 10000
16//
#include <>
17using
namespace
std;
18int
main()
1934
if(x==0)35
39//
頭部:沒有頭符號,直接輸出x和幾次方
40if(i==n)
47else
5051}52
//倒數第二項
53else
if(i==1)54
62 printf("x"
);63}64
else
69}
//中部
70else
if(i!=0)79
else
8283}84
//尾部:輸出x。
85else90}
91if(sign==n)
92 cout<
;93 printf("\n"
);94
return0;
95 }
洛谷 P1067 多項式輸出
其中,aixi稱為 i 次項,ai 稱為 i 次項的係數。給出乙個一元多項式各項的次數和係數,請按照如下規定的格式要求輸出該多項式 多項式中自變數為 x,從左到右按照次數遞減順序給出多項式。多項式中只包含係數不為 0 的項。如果多項式 n 次項係數為正,則多項式開頭不出現 號,如果多項式 n 次項係...
洛谷 P1067 多項式輸出
題目大意 一元 n 次多項式可用如下的表示式表示 其中,aixi稱為 i 次項,ai 稱為 i 次項的係數。給出乙個一元多項式各項的次數和係數,請按照如下規定的格式要求輸出該多項式 多項式中自變數為 x,從左到右按照次數遞減順序給出多項式。多項式中只包含係數不為 0 的項。如果多項式 n 次項係數為...
洛谷 P1067 多項式輸出
p1067 多項式輸出 廢話就不多說了,這道題屬於基礎題。提交出錯主要是因為一些小細節不到位,這裡就不一一贅述了,直接上 吧!如下 include using namespace std const int max 105 int n int num max int main 非常數項的輸出 for...