题意理解
已知两个多项式:
(1)\(3x^4-5x^2+6x-2\)
(2)\(5x^{20}-7x^4+3x\)
多项式和:
\(5x^{20}-4x^4-5x^2+9x-2\)
多项式乘积:
\((a+b)(c+d)=ac+ad+bc+bd\)
略
输入样例:
4 3 4 -5 2 6 1 -2 0
3 5 20 -7 4 3 1
输出样例:
15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1
5 20 -4 4 -5 2 9 1 -2 0
求解思路
- 多项式表示 //首先是明确使用的数据结构
- 程序框架 //对程序整体有一个规划,下面的四步就是读入、加、乘、输出
- 读多项式
- 加法实现
- 乘法实现
- 多项式输出
理解起来也好理解呀。有明确的步骤,做起事来才不慌啊。
多项式的表示
仅表示非零项
数组:
变成简单、调试容易;需要实现确定数组大小
链表:
动态性强;编程略复杂、调试比较困难
可以使用动态数组来实现 因为已经告诉了有多少项
数据结构设计
typedef struct PolyNode *Polynomial;
struct PolyNode{
int coef;
int expon;
Polynomial link;
};