PTA 資料結構與演算法 一元多項式的乘法與加法運算

2021-08-19 21:03:54 字數 1392 閱讀 6430

設計函式分別求兩個一元多項式的乘積與和。

輸入格式:

輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。

輸出格式:

輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。零多項式應輸出0 0。

輸入樣例:

4 3 4 -5 2 6 1 -2 0

3 5 20 -7 4 3 1

輸出樣例:

15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1

5 20 -4 4 -5 2 9 1 -2 0

暴力法直接就過了。需要注意的是,本題給出的是多項式,也就說明指數不會是負數,否則就是分式不屬於多項式(多項式屬於整式),開兩個陣列分別記錄這兩個多項式,陣列下標代表指數,值為係數,則加法就是對於的下標相加。積就是下標相加,值相乘。

——————————————

對於題目中說到的零多項式應輸出0 0。這句話糾結了很久,起初以為係數為0的多項式就是0多項式的意思,那麼這種情況只存在於加法中。。。。後來才知道這句話的意思是有無合適的輸出。。。沒有就輸出0 0.。。。。渣閱讀理解能力

**如下:

#include

using

namespace

std;

int a[1010],b[1010],c[1010],d[2021];

int main()

cin>>n2;

for(int i=0;iint coefficient,index;

cin>>coefficient>>index;

b[index]+=coefficient;

} for(int i=1000;i>=0;i--)//計算和

if(a[i]||b[i]) c[i]+=a[i]+b[i];

for(int i=1000;i>=0;i--)//計算積}}

} bool flag1=true;//是否沒有多項式

for(int i=2020;i>=0;i--)

else

cout

<<' '

<' '

<<0

<<' '

<<0;//零多項式

cout

for(int i=1000;i>=0;i--)

else

cout

<<' '

<' '

<<0

<<' '

<<0;

cout

0;}

聽說是用鍊錶做???

PTA 資料結構 一元多項式求導

7 2 一元多項式求導 20 分 設計函式求一元多項式的導數。以指數遞降方式輸入多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。3 4 5 2 6 1 2 012 3 10 1 6 ...

PTA 資料結構與演算法 7 16 一元多項式求導

如有不對,不吝賜教 下面進入正題 設計函式求一元多項式的導數。輸入格式 以指數遞降方式輸入多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出格式 以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。輸入樣例 3 4 5 2 6 1 ...

資料結構 一元多項式

void initlist polynode l 初始化多項式單鏈表 int getlength polynode l 求多項式單鏈表的長度 polynode getelem polynode l,int i 返回多項式單鏈表中第i個結點的指標 polynode locate polynode l,...