P1103 多項式輸出

2022-05-28 18:33:13 字數 2962 閱讀 9147

from lx11111    normal (oi)

總時限:10s    記憶體限制:128mb    **長度限制:64kb

描述 description

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

f(x)=an*x^n+an-1*x^n-1+...+a1*x+a0,an<>0

其中,ai*a^x 稱為i次項,ai稱為i次項的係數。給出乙個一元多項式各項的次數和系

數,請按照如下規定的格式要求輸出該多項式:

1. 多項式中自變數為x,從左到右按照次數遞減順序給出多項式。

2. 多項式中只包含係數不為0 的項。

3. 如果多項式n 次項係數為正,則多項式開頭不出現「+」號,如果多項式n 次項係

數為負,則多項式以「-」號開頭。

4. 對於不是最高次的項,以「+」號或者「-」號連線此項與前一項,分別表示此項

係數為正或者係數為負。緊跟乙個正整數,表示此項係數的絕對值(如果乙個高於0 次的項,

其係數的絕對值為1,則無需輸出1)。如果x 的指數大於1,則接下來緊跟的指數部分的形

式為「x^b」,其中b 為x 的指數;如果x 的指數為1,則接下來緊跟的指數部分形式為「x」;

如果x 的指數為0,則僅需輸出係數即可。

5. 多項式中,多項式的開頭、結尾不含多餘的空格。

輸入格式 inputformat

輸入檔名為 poly.in,共有2 行

第一行 1 個整數,n,表示一元多項式的次數。

第二行有 n+1 個整數,其中第i 個整數表示第n-i+1 次項的係數,每兩個整數之間用空

格隔開。

輸出格式 outputformat

輸出檔案 poly.out 共1 行,按題目所述格式輸出多項式。

樣例輸入 sampleinput [複製資料]

輸入樣例1:5100 -1 1 -3 0 10輸入樣例2:3-50 0 0 1

樣例輸出 sampleoutput [複製資料]

輸出樣例1:100x^5-x^4+x^3-3x^2+10輸出樣例2:-50x^3+1

時間限制 timelimitation

各個測試點1s

** source

noip2009普及組 第一題

noip2009普及組第一題。

多項式輸出。

字串處理。

把它給的每條都考慮到就差不多了。

最後3個一開始我沒過。。。

tyvj上沒給資料範圍,坑爹啊。

我用的string,後來改成ansistring 了,0ms 過,嘿嘿。

1

program p1103;23

varn,i:integer;45

st,s1,s2:ansistring;

67 a:array[0..10000

]of integer;89

flag:boolean;

1011

procedure init;

1213

begin

1415 flag:=true;16

17 readln(n);st:='';18

19for i:=n+1 downto 1

do20

21begin

2223

read(a[i]);

2425

if (a[i]<>0)and flag then flag:=false;26

27end;

2829

if flag then begin write('0'

);halt;end;

3031

end;

3233

begin

3435

init;

3637

for i:=n+1 downto 2

do38

39begin

4041

if a[i]=0 then begin dec(n);continue

;end;

4243

if a[n+1]<0 then st:=st+'-'

;4445if i<>n+1

4647 then if a[i]<0

4849 then st:=st+'-'

5051

else

if a[i]>0

5253 then st:=st+'+'

;5455 a[i]:=abs(a[i]);

5657

if (a[i]<>1)58

59then begin

6061

str(a[i],s1);

6263 st:=st+s1;

6465

end;

6667 str(i-1

,s2);

6869 st:=st+'x'

;7071if i-1>1

then

7273

begin

7475 st:=st+'^'

;7677 st:=st+s2;

7879

end;

8081

end;

8283

if a[1]<>0

then

8485

begin

8687

if (a[1]>0)and(st<>'') then st:=st+'+'

;8889 str(a[1

],s1);

9091 st:=st+s1;

9293

end;

9495

writeln(st);

9697

readln;

9899

readln;

100101 end.

P1067 多項式輸出

題目描述 一元 n 次多項式可用如下的表示式表示 其中,aixi稱為 i 次項,ai 稱為 i 次項的係數。給出乙個一元多項式各項的次數和係數,請按照如下規定的格式要求輸出該多項式 多項式中自變數為 x,從左到右按照次數遞減順序給出多項式。多項式中只包含係數不為 0 的項。如果多項式 n 次項係數為...

P1067 多項式輸出

一元nn次多項式可用如下的表示式表示 其中,a ix iai xi稱為ii次項,a iai 稱為ii次項的係數。給出乙個一元多項式各項的次數和係數,請按照如下規定的格式要求輸出該多項式 多項式中自變數為xx,從左到右按照次數遞減順序給出多項式。多項式中只包含係數不為00的項。如果多項式nn次項係數為...

P1067多項式輸出

這道題是2009普及組的題,仍然是乙個字串 模擬。蒻到先不刷演算法 這道題的題幹給了很多的提示,也很全面,但是當我把種種情況都考慮到了後,在寫 的過程中仍然出現了很多的錯誤,wa了三四次。其實導致這些錯誤的緣由仍然是思路不夠清晰,沒有考慮清楚,以及 能力差。多虧了測試資料,幫助我改錯,1.模擬題,將...