在 C++ 中将两个多项式相乘
在本教程中,我们将编写一个将两个多项式相乘的程序。多项式的每一项的系数在一个数组中给出。
让我们看看解决问题的步骤。
初始化两个多项式。
创建一个长度为两个多项式的新数组。
迭代两个多项式。
从第一个多项式中取出一项并将其与第二个多项式中的所有项相乘。
将结果存储在结果多项式中。
示例
让我们看看代码。
#include输出结果using namespace std; int *multiplyTwoPolynomials(int A[], int B[], int m, int n) { int *productPolynomial = new int[m + n - 1]; for (int i = 0; i < m + n - 1; i++) { productPolynomial[i] = 0; } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { productPolynomial[i + j] += A[i] * B[j]; } } return productPolynomial; } void printPolynomial(int polynomial[], int n) { for (int i = n - 1; i >= 0; i--) { cout << polynomial[i]; if (i != 0) { cout << "x^" << i; cout << " + "; } } cout << endl; } int main() { int A[] = {1, 2, 3, 4}; int B[] = {4, 3, 2, 1}; int m = 4; int n = 4; cout << "第一个多项式: "; printPolynomial(A, m); cout << "第二多项式: "; printPolynomial(B, n); int *productPolynomial = multiplyTwoPolynomials(A, B, m, n); cout << "乘积多项式: "; printPolynomial(productPolynomial, m + n - 1); return 0; }
如果你运行上面的代码,那么你会得到下面的结果。
第一个多项式: 4x^3 + 3x^2 + 2x^1 + 1 第二多项式: 1x^3 + 2x^2 + 3x^1 + 4 乘积多项式: 4x^6 + 11x^5 + 20x^4 + 30x^3 + 20x^2 + 11x^1 + 4
结论
如果您对本教程有任何疑问,请在评论部分提及。