[Java] Type de données / produit matriciel (produit matriciel AOJ ⑧)

Type de données (type de données)

public class Main {
    public static void main(String[] args){
        //Vérifiez les valeurs minimale et maximale du type int
        System.out.println("int minimum/Valeur maximum= " + Integer.MIN_VALUE+" ~ "+Integer.MAX_VALUE);
        System.out.println("octet minimum/Valeur maximum= " + Byte.MIN_VALUE+" ~ "+Byte.MAX_VALUE);
        System.out.println("court minimum/Valeur maximum= " + Short.MIN_VALUE+" ~ "+Short.MAX_VALUE);
        System.out.println("long minimum/Valeur maximum= " + Long.MIN_VALUE+" ~ "+Long.MAX_VALUE);
    }
}
int minimum/Valeur maximum= -2147483648 ~ 2147483647
octet minimum/Valeur maximum= -128 ~ 127
court minimum/Valeur maximum= -32768 ~ 32767
long minimum/Valeur maximum= -9223372036854775808 ~ 9223372036854775807

Produit matriciel (ITP1-7)

Créez un programme qui entre n × m matrice A et m × l matrice B, et en sort le produit, matrice n × l C. Ici, laissez chaque élément de A, B et C être respectivement aij, bij et cij. Input N, m, l sont indiqués sur la première ligne, séparés par des blancs. Les lignes suivantes reçoivent la matrice n × m A et la matrice m × l B. Output Sortez l'élément C cij de la matrice n × l. Séparez les éléments adjacents sur chaque ligne avec un seul espace. Constraints

//Calcul du produit intérieur
import java.util.Scanner;
import java.util.Arrays;
public class Main {
    public static void main(String[] args){
        Scanner scan=new Scanner(System.in);
        int n=scan.nextInt();
        int m=scan.nextInt();
        int l=scan.nextInt();

        //0≤aij,≤ bij 10000
        //Notez qu'il peut ne pas entrer dans la plage maximale du type int 2147483647!
        // int[][] a=new int[n][m];
        // int[][] b=new int[m][l];
        // int[][] c=new int[n][l];
        
        long[][] a = new long[n][m];
        long[][] b = new long[m][l];
        long[][] c = new long[n][l];

        //Matrice A
        for(int i=0;i<n;i++)for(int j=0;j<m;j++){
            a[i][j]=scan.nextInt();
        }

        //Matrice B
        for(int i=0;i<m;i++)for(int j=0;j<l;j++){
            b[i][j]=scan.nextInt();
        }
        
        //Produit matriciel c=a*b
        for(int i=0;i<n;i++){
            for(int j=0;j<l;j++){
                for(int k=0;k<m;k++){
                    c[i][j]+=a[i][k]*b[k][j];
                }
            }
        }
        // System.out.println(Arrays.deepToString(c));
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<n;i++){
            for(int j=0;j<l;j++){
                sb.append(c[i][j]);
                if(j != l-1) sb.append(" ");
            }
            if(i != n-1) sb.append("\n");
        }
        System.out.println(sb);
        scan.close();
    }
}

Recommended Posts

[Java] Type de données / produit matriciel (produit matriciel AOJ ⑧)
[Java] Type de données ①-Type de base
Mémo d'apprentissage Java (type de données)
Conversion de type de données de date Java (date, calendrier, chaîne)
Utiliser le type de données PostgreSQL (jsonb) à partir de Java
[Note personnelle] Le type de données Java est ennuyeux
[Java] Aide-mémoire de classe de type de données / chaîne de caractères
[Java] Type d'énumération
Java Type facultatif
Java double type
[Traitement × Java] Type de données et programmation orientée objet
Mémo organisé dans la tête (Java - type de données)
Déclaration / initialisation de variable Java / type de données (distribution et promotion)
[Java, Kotlin] Variance de type
Champ de type de classe Java
Détermination de type en Java
Étudier Java # 1 (type typique)
A propos du type de données de base Java et de la mémoire du type de référence
[Java] Principaux types de données
Types de données de base Java
[Java] Conversion de type de date
[Java] Acquisition de caractères / utilisation de type booléen (AOJ ⑤ Recherche de cartes manquantes)
[Java] Conversion de type de liste / type de tableau
[Java] Extraire des sous-chaînes (AOJ13 --shuffle)
Type de données de base et type de référence
Essayez le type fonctionnel en Java! ①
Importer des données Excel avec Java 2
[Java] Comparaison de la vitesse de conversion de type
Etude de Java # 7 (Type de syntaxe de branche)
Importer des données Excel avec Java
Vérification des données Excel d'ajout Java
Java pour les débutants, masquage des données
Importer des données Excel avec Java 3
Java Primer Series (conversion de type)
Liste de la structure de données [Java / Scala]
Java Learning 1 (apprendre divers types de données)
[Introduction à Java] À propos des variables et des types (déclaration de variable, initialisation, type de données)