java题目 HJ69 矩阵乘法
描述
如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的
矩阵的大小不超过100*100
输入描述:
第一行包含一个正整数x,代表第一个矩阵的行数
第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数
第三行包含一个正整数z,代表第二个矩阵的列数
之后x行,每行y个整数,代表第一个矩阵的值
之后y行,每行z个整数,代表第二个矩阵的值
第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数
第三行包含一个正整数z,代表第二个矩阵的列数
之后x行,每行y个整数,代表第一个矩阵的值
之后y行,每行z个整数,代表第二个矩阵的值
输出描述:
对于每组输入数据,输出x行,每行z个整数,代表两个矩阵相乘的结果
示例1
输入:
2 3 2 1 2 3 3 2 1 1 2 2 1 3 3
输出:
14 13 10 11
说明:
1 2 3 3 2 1 乘以 1 2 2 1 3 3 等于 14 13 10 11
1 import java.util.*; 2 3 public class Main { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 7 int x = sc.nextInt(); //第一个矩阵行 8 int y = sc.nextInt(); //第一个矩阵列, 第二个矩阵的行 9 int z = sc.nextInt(); //第二个矩阵的列 10 11 int[][] first = new int[x][y]; 12 int[][] second = new int[y][z]; 13 int[][] third = new int[x][z]; 14 15 for(int i=0; i<x; i++) { 16 for(int j=0; j<y; j++) { 17 first[i][j] = sc.nextInt(); 18 } 19 } 20 21 for(int i=0; i<y; i++) { 22 for(int j =0; j<z; j++) { 23 second[i][j] = sc.nextInt(); 24 } 25 } 26 27 for(int i=0; i<x; i++) { 28 for(int j=0; j<z; j++){ 29 for(int k=0; k<y; k++) { 30 third[i][j] = third[i][j] + first[i][k] * second[k][j]; 31 } 32 //i=0行时,0,1,2,z-1列位置的值显示 33 System.out.print(third[i][j] + " "); 34 } 35 // i=0行 遍历完后,换行显示 36 System.out.println(); 37 } 38 } 39 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix