A719a

Симметричные квадратные матрицы [latex]A[/latex] и [latex]B[/latex] порядка [latex]n[/latex] заданы последовательностями из [latex]n\left(n+1 \right)/2[/latex] чисел, аналогично правым треугольным матрицам. Получить матрицу [latex]AB[/latex].

[latex]n[/latex] [latex]A[/latex] [latex]B[/latex] [latex]AB[/latex]
3 0 1 2 0 2 1 0 1 3 0 2 1 7 4 4

6 5 5

5 4 11

2 0 1 0 1 0 1 0 1

1 0

3 1 2 3 4 5 6 1 0 0 4 2 2 1 14 10

2 26 18

3 32 22

4 1 1 1 1 2 2 2 3 3 4 6 6 6 6 5 5 5 3 2 1 24 21 16 14

42 36 26 22

54 46 31 25

60 51 33 26

Тесты проверены на этом сайте.

Код программы:

Алгоритм решения:

Изначально мы считываем последовательность из [latex]n\left(n+1 \right)[/latex] для двух матриц (чтобы они были симметричекими, цикл по столбцам запускается с позиции текущей строки, а затем введённое значение копируется относительно главной диагонали).

Пусть [latex]C=\begin{Vmatrix}c_{ij}\end{Vmatrix} \in M_{m\times n}\left( \mathbb{R}\right) \left(i=1,2,\ldots,m; j=1,2,\ldots,n \right)[/latex].

Умножение матриц происходит по формуле [latex]c_{ij}=\sum_{r=1}^{n}{a_{ir}b_{rj}}\left(i=1,2,\ldots,m; j=1,2,\ldots,n \right)[/latex].

Related Images: