引用 | 编辑
deroghost
2006-01-03 23:37 |
1楼
▲ ▼ |
不好意思 , 可能是小弟数学比较不好 , 不太懂问题 , 想请问一下楼主 , 请问楼主要求的 5 * 5 的矩阵是要算什么啊?? 因为就小弟对矩阵的了解 , 矩阵运算要得到 " 纯数 " 的结果 , 应该是要经过一些要求的运算条件才有可能 , 所以 , 不知道可否请楼主为再解释清楚一些 , 小弟才能尽量帮忙回答 , 谢谢...
x1 |
引用 | 编辑
rakish
2006-01-07 03:04 |
2楼
▲ |
感觉就长的很像det
就当作是在算行列式... det 判断 大于2 --> 降阶(递回再判断) 小于2 --> return 对角线相乘再相减 mat 表示对第( 1,j ) 列降阶后的矩阵 复制程式 public class test{ public static void main(String[] args) { int[][] a={{0,0,1,-1,2},{1,0,-3,2,1},{5,2,1,1,0},{0,1,4,2,0},{0,0,2,1,-2}}; System.out.print(det(a)); } public static int det(int a[][]) { int n = a.length; int det=0; if(n>2){ int sign=-1; for(int i=0;i<n;i++){ sign=sign*-1; det=det+a[0][i]*det(mat(a,n-1,i))*sign; } }else{ return a[0][0]*a[1][1]-a[0][1]*a[1][0]; } return det; } public static int[][] mat(int a[][],int n,int j) { int b[][] = new int[n][n]; int bm,bn; //System.out.println("-----------"); for(bm=0;bm<n;bm++){ for(bn=0;bn<n;bn++){ if(bn>=j) b[bm][bn]=a[bm+1][bn+1]; else b[bm][bn]=a[bm+1][bn]; // System.out.print(b[bm][bn]); } // System.out.println(""); } return b; } } 不保证正确...自己try几组看看.... x0 |