Операция умножения двух матриц А и В представляет собой вычисление результирующей матрицы С, где каждый элемент C(ij) равен сумме произведений элементов в соответствующей строке первой матрицы A(ik) и элементов в столбце второй матрицы B(kj).
Две матрицы можно перемножать только в том случае, если количество столбцов в первой матрице совпадает с количеством строк во второй матрице. Это значит, что первая матрица обязательно должна быть согласованной со второй матрицей. В результате операции умножения матрицы размера M×N на матрицу размером N×K является матрица размером M×K.
src/main/java/io/hexlet/App.java
Реализуйте публичный статический метод multiply()
, который принимает на вход две матрицы c целыми числами, и возвращает новую матрицу — результат их произведения.
int[][] matrixA = {
{2, 5},
{6, 7},
{1, 8},
};
int[][] matrixB = {
{1, 2, 1},
{0, 1, 0},
};
var multipliedMatrix = App.multiply(matrixA, matrixB);
System.out.println(Arrays.deepToString(result)); // =>
// [
// [2, 9, 2],
// [6, 19, 6],
// [1, 10, 1],
// ]
Подсказки
- Описание алгоритма перемножения матриц
- Демонстрация операций перемножения матриц
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.