一个3*3的矩阵,里面的元素为0或者1,这样组合的矩阵应该是2^9个,我如何用算法去写出所有的矩阵 

解决方案 »

  1.   

    用bit
    从000 000 000 到 111 111 111 遍历然后自己写一个方法将9位bit转换成你需要的输出格式
      

  2.   

    自己再改改 public static void main(String[] args) {
    for (int i = 0; i < 512; i++) {
    String str = Integer.toBinaryString(i);
    String temp = "000000000";
    if(str.length() < temp.length())
    str = temp.substring(0, temp.length() - str.length()) + str;
    System.out.println(str.substring(0,3));
    System.out.println(str.substring(3,6));
    System.out.println(str.substring(6,9));
    System.out.println("~~~~~~~~~~~~~~");
    }
    }
      

  3.   


    ArrayList<int[][]> list = new ArrayList<int[][]>();
    for (int i=0; i<512; i++) {
    int[][] arr = new int[3][3];
    for (int j=0; j<9; j++) 
    arr[j/3][j%3] = i>>>j&1;
    list.add(arr);
    }
    list中得到的就是所有3×3矩阵