题解 | #矩阵乘法#
矩阵乘法
https://www.nowcoder.com/practice/ebe941260f8c4210aa8c17e99cbc663b
根据矩阵公式int[x][z] = int[x][y]*int[y][z];
先定义出int[x][y 和int[y][z]矩阵。然后每每列相乘得到
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case int x = in.nextInt(); int y = in.nextInt(); int z = in.nextInt(); int[][] A = new int[x][y]; int[][] B = new int[y][z]; // 矩阵1 for (int i = 0; i < x; i++) { for (int k = 0; k < y; k++) { A[i][k] = in.nextInt(); } } // 矩阵2 for (int k = 0; k < y; k++) { for (int j = 0; j < z; j++) { B[k][j] = in.nextInt(); } } int[][] c = new int[x][z]; for (int i = 0; i < x; i++) { for (int j = 0; j < z; j++) { for (int k = 0; k < y; k++) { c[i][j] += A[i][k] * B[k][j]; } } } // 打印 for (int i = 0; i < x; i++) { for (int j = 0; j < z; j++) { System.out.print(c[i][j] + " "); } System.out.print("\n"); } } } }