0

我有一个显示 Strassen 矩阵乘法的代码,我想逐步展示它的过程。矩阵的大小和元素是用户输入的。我在显示索引 (n/2) 处的元素时遇到问题。当我显示它时,索引应该是什么?谢谢您的帮助!

这是我的代码的一部分:

else {
    int[][] A11 = new int[n / 2][n / 2];
    int[][] A12 = new int[n / 2][n / 2];
    int[][] A21 = new int[n / 2][n / 2];
    int[][] A22 = new int[n / 2][n / 2];
    int[][] B11 = new int[n / 2][n / 2];
    int[][] B12 = new int[n / 2][n / 2];
    int[][] B21 = new int[n / 2][n / 2];
    int[][] B22 = new int[n / 2][n / 2];
   
    split(a, A11, 0, 0);
    split(a, A12, 0, n / 2);
    split(a, A21, n / 2, 0);
    split(a, A22, n / 2, n / 2);
  
    split(b, B11, 0, 0);
    split(b, B12, 0, n / 2);
    split(b, B21, n / 2, 0);
    split(b, B22, n / 2, n / 2);
    
    System.out.println();
    System.out.println("Step by Step Operation");
    System.out.println();
    System.out.println("p1 = (" + A11[0][0] + " + " + A22 + ")(" + B11[0][0] + " + " + B22 + ")");
    System.out.println("p2 = (" + A21 + " + " + A22 + ")" + B11[0][0]);
    System.out.println("p3 = " + A11[0][0] + "(" + B12 + " - " + B22 + ")");
    System.out.println("p4 = " + A22 + "(" + B21 + " - " + B11[0][0] + ")");
    System.out.println("p5 = (" + A11[0][0] + " + " + A12 + ")" + B22);
    System.out.println("p6 = (" + A21 + " - " + A11[0][0] + ")(" + B11[0][0] + " + " + B12 + ")");
    System.out.println("p7 = (" + A12 + " - " + A22 + ")(" + B21 + " + " + B22] + ")");
4

0 回答 0