设多项式的系数按幂次由高到低的顺序于一数组中,函数设PA,PB分别指向两个多项式的系数。
幂次存于另变量中,设分别为an,bn现在我的问题是其具体相除 实现细节看不懂谁能帮帮我?感激不尽!!!!细节如下:
int Remainder(double*pA, int an,double*pB, int bn,double**q)
{double x,y,*temp;
int k,j,flg=1;
if(an<bn){
temp=pA;pA==pB;pB=temp;
k=an;an=bn;bn=k;
}
while(flg){
while(*pB==0.0&&bn>0){
bn--;pB++;
}
k=0;x=*pB;
while(k<=bn)pB[k++]/=x;
for(k=0;k<=an-bn;k++){***以下九行看不懂,感激不尽!!!!
x=pA[k];
for(j=0;j<bn;j++){
y=pA[k+j+1]-x*pB[j+1];
pA[k+j+1]=(y<0.00005&&-y<0.00005)?0.0:y;
}
}
temp=pA;pA=pB;pB=temp+an-bn+1;an=bn--;
for(flg=0,k=0;k<=bn&&flg==0;k++)
if(pB[k]!=0.0) flg=1;
}
*q=pA;
return an;
}
幂次存于另变量中,设分别为an,bn现在我的问题是其具体相除 实现细节看不懂谁能帮帮我?感激不尽!!!!细节如下:
int Remainder(double*pA, int an,double*pB, int bn,double**q)
{double x,y,*temp;
int k,j,flg=1;
if(an<bn){
temp=pA;pA==pB;pB=temp;
k=an;an=bn;bn=k;
}
while(flg){
while(*pB==0.0&&bn>0){
bn--;pB++;
}
k=0;x=*pB;
while(k<=bn)pB[k++]/=x;
for(k=0;k<=an-bn;k++){***以下九行看不懂,感激不尽!!!!
x=pA[k];
for(j=0;j<bn;j++){
y=pA[k+j+1]-x*pB[j+1];
pA[k+j+1]=(y<0.00005&&-y<0.00005)?0.0:y;
}
}
temp=pA;pA=pB;pB=temp+an-bn+1;an=bn--;
for(flg=0,k=0;k<=bn&&flg==0;k++)
if(pB[k]!=0.0) flg=1;
}
*q=pA;
return an;
}
幂次存于另变量中,设分别为an,bn现在我的问题是其具体相除 实现细节看不懂谁能帮帮我?感激不尽!!!!细节如下:
int Remainder(double*pA, int an,double*pB, int bn,double**q)
{double x,y,*temp;
int k,j,flg=1;
if(an<bn){
temp=pA;pA==pB;pB=temp;
k=an;an=bn;bn=k;
}
while(flg){
while(*pB==0.0&&bn>0){
bn--;pB++;
}
k=0;x=*pB;
while(k<=bn)pB[k++]/=x;
for(k=0;k<=an-bn;k++){***以下九行看不懂,感激不尽!!!!
x=pA[k];
for(j=0;j<bn;j++){
y=pA[k+j+1]-x*pB[j+1];
pA[k+j+1]=(y<0.00005&&-y<0.00005)?0.0:y;
}
}
temp=pA;pA=pB;pB=temp+an-bn+1;an=bn--;
for(flg=0,k=0;k<=bn&&flg==0;k++)
if(pB[k]!=0.0) flg=1;
}
*q=pA;
return an;
}