本文主要是介绍3.1.1矩阵连乘问题之穷举法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
public class test3_1_1 {public static void matrixMultiply(int[][] a,int[][] b,int[][] c,int ra,int ca,int rb,int cb){if(ca!=rb){ //若矩阵A的列数≠矩阵B的行数,则无法相乘System.err.println("矩阵无法相乘");return;}for(int i=0;i<ra;i++) //矩阵A行数∈[0,ra)for(int j=0;j<cb;j++){ //矩阵B列数∈[0,cb)int sum = a[i][0]*b[0][j];for(int k=1;k<ca;k++) //ca==rbsum += a[i][k]*b[k][j];c[i][j] = sum;}}public static void main(String[] args) {int[][] a = {{1,2,3},{3,2,2}};int[][] b = {{1,1,1,1},{1,1,1,1},{1,1,1,1}};int[][] c = new int[2][4];int ra = 2,ca = 3,rb = 3,cb = 4;matrixMultiply(a,b,c,ra,ca,rb,cb);for(int i=0;i<ra;i++){for(int j=0;j<cb;j++)System.out.print(c[i][j]+" ");System.out.println();}}
}
运行结果:
6 6 6 6
7 7 7 7
这篇关于3.1.1矩阵连乘问题之穷举法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!