zoukankan      html  css  js  c++  java
  • 矩阵乘法

    问题描述

      输入两个矩阵,分别是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();
    
            }
    
    
        }
    
    }
  • 相关阅读:
    237. Delete Node in a Linked List
    430. Flatten a Multilevel Doubly Linked List
    707. Design Linked List
    83. Remove Duplicates from Sorted List
    160. Intersection of Two Linked Lists
    426. Convert Binary Search Tree to Sorted Doubly Linked List
    142. Linked List Cycle II
    类之间的关系
    初始化块
    明确类和对象
  • 原文地址:https://www.cnblogs.com/zhanghaijie/p/8543978.html
Copyright © 2011-2022 走看看