溫馨提示×

c語言怎么求兩個(gè)多項(xiàng)式的和

小億
143
2023-08-17 22:39:17
欄目: 編程語言

要求兩個(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ù)操作。

0