蓝桥杯 矩阵乘法

资源限制
时间限制:1.0s   内存限制:256.0MB
 
问题描述
  小明最近刚刚学习了矩阵乘法,但是他计算的速度太慢,于是他希望你能帮他写一个矩阵乘法的运算器。
 
输入格式
  输入的第一行包含三个正整数N,M,K,表示一个N*M的矩阵乘以一个M*K的矩阵。接下来N行,每行M个整数,表示第一个矩阵。再接下来的M行,每行K个整数,表示第二个矩阵。
 
输出格式
  输出有N行,每行K个整数,表示矩阵乘法的结果。
 
一道很简单的题,直接看代码。
 
 
 1 import java.util.Scanner;
 2 
 3 public class Main {
 4     
 5     public static void main(String[] args) {
 6         Scanner scanner=new Scanner(System.in);
 7         int m=scanner.nextInt();
 8         int n=scanner.nextInt();
 9         int k=scanner.nextInt();
10         int[][]a=new int[m][n];
11         int[][]b=new int[n][k];
12         int[][]ans=new int[m][k];
13         for(int i=0;i<m;i++) {
14             for(int j=0;j<n;j++) {
15                 a[i][j]=scanner.nextInt();
16             }
17         }
18         
19         for(int i=0;i<n;i++) {
20             for(int j=0;j<k;j++) {
21                 b[i][j]=scanner.nextInt();
22             }
23         }
24         
25         for(int i=0;i<m;i++) {
26             for(int j=0;j<k;j++) {
27                 for(int t=0;t<n;t++) {
28                     ans[i][j]+=a[i][t]*b[t][j];
29                 }
30             }
31         }
32         
33         for(int i=0;i<m;i++) {
34             for(int j=0;j<k;j++) {
35                 System.out.print(ans[i][j]+" ");
36             }
37             System.out.println("");
38         }
39     }
40 }

猜你喜欢

转载自www.cnblogs.com/xianxianxian/p/12603731.html