一元多项式求导
(1)用链表表示多项式的系数和指数
链表表示(a0,0)→(a1,1)→…→(ai,j)
1 + 5x^100 + 10x^1000
(1,0)→(5,100)→(10,1000)
因为数据较多,我们选用链式存储
(2)求导
对每个节点用求导公式进行求导(a,n)→(na,n-1)
(1,0)→(5,100)→(10,1000)
转换成(0,0)→(500,99)→(10^5,999)
这里有个细节是首项就不可导输出0 0,非首项不可导舍弃
(3)找的比较官方的代码
#include<stdio.h>
#include<stdlib.h>
typedef struct PolyNode *Polynomial;
struct PolyNode {
int coef;
int expon;
Polynomial link;
};
void Attach( int c, int e, Polynomial *pRear )
{
/* 将由(c, e)构成的新项插入到pRear间接指向的结点后面 */
Polynomial P;
P = (Polynomial)malloc(sizeof(struct PolyNode)); /* 申请一新结点 */
P->coef = c; /*