• 矩阵乘法


    问题描述

      输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。
    输入格式
      第一行,空格隔开的三个正整数m,s,n(均不超过200)。
      接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。
      接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。
    输出格式
      m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。
    样例输入
    2 3 2
    1 0 -1
    1 1 -3
    0 3
    1 2
    3 1
    样例输出
    -3 2
    -8 2

    提示
    矩阵C应该是m行n列,其中C(i,j)等于矩阵A第i行行向量与矩阵B第j列列向量的内积。
    例如样例中C(1,1)=(1,0,-1)*(0,1,3) = 1 * 0 +0*1+(-1)*3=-3
    import java.lang.reflect.Array;
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int m = scanner.nextInt();
            int s = scanner.nextInt();
            int n = scanner.nextInt();
    
            int [][]A = new int[m][s];
            int [][]B = new int[s][n];
    
            for(int i = 0;i<m;i++){
                for(int j = 0;j<s;j++){
                    A[i][j] = scanner.nextInt();
                }
            }
    
            for(int i = 0;i<s;i++){
                for(int j = 0;j<n;j++){
                    B[i][j] = scanner.nextInt();
                }
            }
    
    
            for(int i = 0;i<m;i++){
                for(int j = 0;j<n;j++){
                    int temp = 0;
                    for(int k = 0;k<s;k++){
                        temp += A[i][k] * B[k][j];
                    }
                    System.out.print(temp + " ");
                }
                System.out.println();
    
            }
    
    
        }
    
    }
  • 相关阅读:
    MyBatis 3源码分析
    Java动态代理
    HashMap原理分析(JDK1.7.x之前)
    JQuery datepicker 用法
    百度一键分享功能
    JQuery BlockUI插件
    AJAX参数详解
    ECharts图标库
    KeCode对照表(键盘按键的获取)
    常见浏览器兼容问题
  • 原文地址:https://www.cnblogs.com/zhanghaijie/p/8543978.html
Copyright © 2020-2023  润新知