洛谷P1067 多項式輸出

2022-08-21 16:57:13 字數 2041 閱讀 8883

一元nn次多項式可用如下的表示式表示:

f(x)=a_nx^n+a_x^+\cdots +a_1x+a_0,a_n\ne 0f(x)=an​xn+an−1​xn−1+⋯+a1​x+a0​,an​≠0

其中,a_ix^iai​xi稱為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 

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 \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 #include 

7 #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...