本项目实现了一个C++中的多项式类,支持基本的数学运算如加法、减法和乘法等操作,并提供了简洁高效的接口用于多项式的管理。
本段落介绍了一个完整的多项式类的构建方法,支持多项式的常用运算:
1. 可通过`Poly P`声明一个名为P的多项式。
2. 该类可以使用`P.read(string P_str)`从手写习惯格式的字符串中读取并解析出相应的多项式。
3. 使用`P.newTerm(double Coef, int Exp)`方法,可以在已有的多项式基础上添加新的项。如果有相同的同类项,则会自动进行合并处理。
4. 可直接通过赋值操作符`=`, 将一个多项式的全部信息复制给另一个多项式,即`P = Q`.
5. 使用输出流`cout << P`可以按照手写习惯的方式显示多项式的内容。
6. 通过调用方法`clear()`清除当前的多项式内容。
7. 支持使用运算符 `+`, `-`, `*`, `/`, `%` 来进行两个多项式的加法、减法、乘法、除法和取模操作。
8. 提供了求最大公因式(gcd)与最小公倍式(lcm)的方法,分别为`gcd(Poly P, Poly Q)` 和 `lcm(Poly P, Poly Q)`
9. 支持获取多项式的各种信息:
- 通过调用方法`deg()`可以得到当前多项式的次数;
- 使用`mainCoef()`可以获得该多项式的主系数;
- 函数`coef(int n)`用于查询第n次项的系数值。
- `eval(double x)`, `eval(Complex x)`可计算出在给定x处,多项式P的具体取值;(这里假设已经定义好了复数类 Complex)
- 利用方法`com(Q)`来求解两个多项式的复合运算;
- 调用`diff()`可以得到原多项式的导函数。
10. 通过调用`roots()` 方法,可以获得任意次的多项式的所有根(包括虚部),返回值类型为vector。