您的位置:首页 > 编程语言 > Java开发

多项式乘法计算

2017-04-23 22:36 302 查看

  这是一个多项式的乘法问题。

  A(X)=amx^m+am-1x^m-1+.....a1x+a0

  B(x)=bnx^n+bn-1x^n-1+.....b1x+b0

  这两个多项式的项目分别为m+1和n+1,最高次分别为m和n,

  现在需要求解A*B的值。

/**
*  @author   LilyLee
* @date     2017年4月23日
* @time     下午10:05:24
* @Version  1.0
* @email    lilylee_1213@foxmail.com
*
*/
public class polynomial_mul {

static void Polynomial_mul(double A[],int m,double B[],int n,double R[]){

int k=m+n;//K是乘积的最高项系数

for(int x=0;x<k;x++){R[x]=0;}//初始化
for(int i=0;i<=m;i++){
for(int j=0;j<=n;j++){
R[i+j]+=(A[i]*B[j]);

}
}
}

public static void main(String[] args) {
// TODO Auto-generated method stub
double A[]={-4,5,2,-1,3,2};
double B[]={-3,-2,1,3};
double R[]=new double[9];
int m=5;
int n=3;
int k=m+n;
Polynomial_mul(A,m,B,n,R);
for(int i=k;i>=0;i--){
//	System.out.println(R[i]);//输出了各项的系数
System.out.print(R[i]+"x^"+k+"+ ");
k--;
}

}

}


答案应该是:6.0x^8+ 11.0x^7+ -4.0x^6+ -7.0x^5+ 10.0x^4+ -8.0x^3+ -20.0x^2+ -7.0x+ 12.0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JAVA