Middle
22
Как матрицы умножаются друг на друга?
Companies where asked
Graveling
Answer from AI
sobes.tech AI
Матрицы умножаются по правилу: элемент результата в строке i и столбце j равен сумме произведений элементов i-й строки первой матрицы на элементы j-го столбца второй матрицы.
Если первая матрица A размером M×N, а вторая B размером N×P, то результат C будет размером M×P, и каждый элемент C[i][j] вычисляется так:
[ C[i][j] = \sum_{k=1}^{N} A[i][k] \times B[k][j] ]
Пример на Go:
func multiplyMatrices(A, B [][]int) [][]int {
m, n := len(A), len(A[0])
n2, p := len(B), len(B[0])
if n != n2 {
return nil // Нельзя умножить
}
C := make([][]int, m)
for i := 0; i < m; i++ {
C[i] = make([]int, p)
for j := 0; j < p; j++ {
sum := 0
for k := 0; k < n; k++ {
sum += A[i][k] * B[k][j]
}
C[i][j] = sum
}
}
return C
}