求行列式的值的算法。尽量简单高效,多谢各位

解决方案 »

  1.   

    行列式的值怎么计算来的?数学以经记不清了,好像是 正对角线乘积的和-负对角线乘积的和 吧
    for example
    class Test{
        public static void main(String[] args) throws Exception {
            int[][] a = {{1,2,3}, {4,5,6}, {7,8,9}};
            int s1=0, s2=0;
            for (int i=0, p1=1, p2=1; i<a.length; i++, p1=1, p2=1) {
                for (int j=0, k=i; j<a.length; j++, k=(k+1)%a.length) {
                    p1 *= a[j][k];
                    p2 *= a[j][a.length-1-k];
                }
                s1 += p1;
                s2 += p2;
            }
            System.out.printf("matrixValue = %d\n", s1-s2);
        }
    }