public class Main {
public static void main(String[] args){
//Überprüfen Sie die minimalen und maximalen Werte vom Typ int
System.out.println("int Minimum/Maximalwert= " + Integer.MIN_VALUE+" ~ "+Integer.MAX_VALUE);
System.out.println("Byte Minimum/Maximalwert= " + Byte.MIN_VALUE+" ~ "+Byte.MAX_VALUE);
System.out.println("kurzes Minimum/Maximalwert= " + Short.MIN_VALUE+" ~ "+Short.MAX_VALUE);
System.out.println("langes Minimum/Maximalwert= " + Long.MIN_VALUE+" ~ "+Long.MAX_VALUE);
}
}
int Minimum/Maximalwert= -2147483648 ~ 2147483647
Byte Minimum/Maximalwert= -128 ~ 127
kurzes Minimum/Maximalwert= -32768 ~ 32767
langes Minimum/Maximalwert= -9223372036854775808 ~ 9223372036854775807
Erstellen Sie ein Programm, das die n × m-Matrix A und die m × l-Matrix B eingibt und das Produkt davon, die n × l-Matrix C, ausgibt. Hier sei jedes Element von A, B und C aij, bij bzw. cij. Input N, m, l sind in der ersten Zeile durch Leerzeichen getrennt angegeben. Die folgenden Zeilen erhalten die n × m-Matrix A und die m × l-Matrix B. Output Geben Sie das n × l-Matrix-C-Element cij aus. Trennen Sie benachbarte Elemente in jeder Zeile mit einem Leerzeichen. Constraints
//Berechnung des inneren Produkts
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
//Beachten Sie, dass es möglicherweise nicht in den maximalen Bereich von int Typ 2147483647 passt!
// 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];
//Matrix A.
for(int i=0;i<n;i++)for(int j=0;j<m;j++){
a[i][j]=scan.nextInt();
}
//Matrix B.
for(int i=0;i<m;i++)for(int j=0;j<l;j++){
b[i][j]=scan.nextInt();
}
//Matrixprodukt 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