如何用C++写一个一元多项式乘法
时间: 2024-09-28 15:10:57 浏览: 39
在C++中,你可以创建一个一元多项式的结构体,包含系数和指数,然后编写函数来进行两个多项式的乘法。这里是一个简单的例子:
```cpp
#include <iostream>
#include <vector>
// 定义多项式的结构体
struct Polynomial {
double coefficient; // 系数
int exponent; // 指数
// 构造函数
Polynomial(double c = 0, int e = 0) : coefficient(c), exponent(e) {}
};
// 多项式乘法函数
Polynomial multiply(Polynomial p1, Polynomial p2) {
Polynomial result(0, 0); // 初始化结果多项式
for (int i = 0; i <= p1.exponent; ++i) {
for (int j = 0; j <= p2.exponent - i; ++j) {
result.coefficient += p1.coefficient * pow(p2.coefficient, j);
result.exponent += i + j;
}
}
return result;
}
int main() {
Polynomial poly1(2, 2), poly2(3, 1);
Polynomial product = multiply(poly1, poly2);
std::cout << "Resulting polynomial: (" << product.coefficient << ")x^" << product.exponent << "\n";
return 0;
}
```
在这个例子中,`multiply`函数遍历第一个多项式的每个系数,并对第二个多项式中的所有可能幂次相加,形成新的系数和指数。注意,`pow`是C++标准库中的函数,用于计算幂。
阅读全文