要求兩個(gè)多項(xiàng)式的和,可以將兩個(gè)多項(xiàng)式的系數(shù)相加。
假設(shè)有兩個(gè)多項(xiàng)式 P1 和 P2,分別為:
P1 = a1x^n + a2x^(n-1) + … + an*x + a(n+1)
P2 = b1x^m + b2x^(m-1) + … + bm*x + b(m+1)
其中,n 是 P1 的最高次數(shù),m 是 P2 的最高次數(shù)。
我們可以先創(chuàng)建一個(gè)新的多項(xiàng)式 P3,將 P1 和 P2 的系數(shù)相加:
P3 = (a1 + b1)*x^(max(n, m)) + (a2 + b2)*x^(max(n, m)-1) + … + (an + bn)*x + (a(n+1) + b(m+1))
可以使用數(shù)組來存儲(chǔ)多項(xiàng)式的系數(shù),假設(shè)有兩個(gè)數(shù)組 coef1 和 coef2 分別存儲(chǔ) P1 和 P2 的系數(shù),那么可以用一個(gè)循環(huán)將系數(shù)相加,并存儲(chǔ)到一個(gè)新的數(shù)組 coef3:
int n = ...; // P1 的最高次數(shù)
int m = ...; // P2 的最高次數(shù)
int len = max(n, m) + 1; // P3 的系數(shù)個(gè)數(shù)
int coef1[] = {a1, a2, ..., an, a(n+1)}; // P1 的系數(shù)數(shù)組
int coef2[] = {b1, b2, ..., bm, b(m+1)}; // P2 的系數(shù)數(shù)組
int coef3[len]; // P3 的系數(shù)數(shù)組
for (int i = 0; i < len; i++) {
if (i <= n && i <= m) {
coef3[i] = coef1[i] + coef2[i];
} else if (i <= n) {
coef3[i] = coef1[i];
} else {
coef3[i] = coef2[i];
}
}
最后,多項(xiàng)式 P3 的系數(shù)都存儲(chǔ)在 coef3 數(shù)組中,可以根據(jù)需要進(jìn)行后續(xù)操作。