乙個多項式可以表達為x的各次冪與係數乘積的和,比如:2x
6+3x
5+12x
3+6x+20,現在你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。冪最大為100。
首先輸入乙個整數t,表示有t組資料。
每組測試要輸入兩個多項式,每個多項式對應多行輸入,格式如下:
每行輸入兩個數字 k 和 a,對應多項式的某一項。 k 表示該項的冪次( k 為不大於100的非負整數), a 表示該項的係數(整數)。輸入第一行一定是冪次最高項,輸入的最後一行一定是冪次最低項,但第一行和最後一行之間不一定按冪次降序排列。若冪次和係數同時為-1表示輸入結束(此輸入不對應有效項)。
如果多項式某項的係數為0,則輸入不含該項。
輸出多項式,各項按冪次從高到低排列,如:2x6+3x5+12x3-6x+20
注意:其中的x是小寫字母x;所有符號之間沒有空格;輸出時省略係數為0的項。
16 25 3
3 12
1 60 20
-1 -1
6 25 3
2 12
1 60 20
-1 -1
4x6+6x5+12x3+12x2+12x+40
%+d 可輸出符號,正號或負號
如果有語言可以表達我目前的心情的話,那大概是:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!xn
這破題,我能說我用最蠢的方法做完之後才發現有hint嗎(吐)
總之……激動完了繼續刷題,唉。_(:з」∠)_
#include#includeint a[100][4],b[100][4],c[1000][4],d[1000][4];
int main()
if(a[i1][1]==-1&&a[i1][2]==-1)
break;
}for(i2=1;i2!=0;i2++)
if(b[i2][1]==-1&&b[i2][2]==-1)
break;
}if(a[1][1]>b[1][1])
x=a[1][1];
else
x=b[1][1];
if(a[i1-1][1]>b[i2-1][1])
y=b[i2-1][1];
else
y=a[i1-1][1];
memset(c,0,sizeof(c));
int w=x-y;
for(o=1;x>=y;o++)
for(k=1;k<=w+1;k++)
if(d[i][1]==0)
printf("%d\n",d[i][2]);
else
}} }
return 0;
}
MATLAB多項式及多項式擬合
多項式均表示為陣列形式,陣列元素為多項式降冪係數 1.polyval函式 求多項式在某一點或某幾個點的值.p 1,1,1 x 2 x 1 x 1,0,1 y polyval p,x 另外求函式在某一點或某幾個點的值可以用函式feval.x 1,0,1 y feval x exp x x 注意用的乘法...
數學 多項式 多項式求逆
多項式求逆 前置知識 ntt 給定乙個多項式 f left x right 求乙個多項式 g left x right 使得 f left x right g left x right equiv 1 left bmod 998244353 right 考慮遞迴求解。假定現在已經求出了 g 0 le...
matlab多項式與非多項式擬合
擬合標準 1 原始資料向量與擬合向量之間的距離最小,該距離的度量一般使用誤差平方和表示,即均方誤差 r q y 22 2 當均方誤差最小時,說明構造的擬合向量與原始向量最為接近,這種曲線擬合的方法稱為最小二乘法 3 計算均方誤差最小時的擬合係數,可以通過微積分中求解極值的方法實現 多項式擬合 1 多...