-->
当前位置:首页 > Eng > 正文内容

编程题:矩阵乘法

Luz2年前 (2022-12-07)Eng553
采用列表的方法计算矩阵的乘法,这里为了简化题目两个相乘的矩阵A和B满足,A的行数等于B的列数,A的列数等于B的行数。矩阵的乘法是相乘得到的新矩阵C的第n行第m列的元素等于第一个矩阵的第n行和另一个矩阵的第m列的对应项的乘积再求和。例如:

$$A=\begin{bmatrix} a_{11} & \cdots & a_{1m} \\\vdots& \ddots&\vdots\\ a_{n1} & \cdots &a_{nm} \end{bmatrix}_{n \times m}\quad$$

$$B=\begin{bmatrix} b_{11} & \cdots & b_{1n} \\\vdots& \ddots&\vdots\\ b_{m1} & \cdots &b_{mn} \end{bmatrix}_{m \times n}\quad$$

$$A \cdot B = \begin{bmatrix} a_{11}b_{11} +\cdots +a_{1m}b_{m1}& \cdots & a_{11}b_{1n} +\cdots+ a_{1m}b_{mn} \\\vdots& \ddots&\vdots\\ a_{n1}b_{11} +\cdots+ a_{nm}b_{m1} & \cdots & a_{n1}b_{1n} + \cdots+a_{nm}b_{mn} \end{bmatrix}_{n \times n}\quad$$

**输入一个整数,按回车结束,并通过这个整数产生随机种子p;之后在一行中输入产生第一个矩阵的行和第二个矩阵的列的数目r;之后在下一行产生第一个矩阵的列和第二个矩阵的行的数目c。根据r和c的值产生两个元素值为0到10之间随机整数的随机矩阵,计算出这两个随机矩阵的乘积并显示。**

#####输入格式:

**第一行输入随机种子**

**第二行输入A矩阵的行数和B矩阵的列数r**

**第三行输入A矩阵的列数和B矩阵的行数c**

#### 输出格式:

**第一行显示产生的矩阵A**
**第二行显示产生的矩阵B**
**第三行显示计算的乘积结果**

### 输入样例:

在这里给出一组输入。例如:

in
7
3
4


### 输出样例:

在这里给出相应的输出。例如:

out
[[5, 2, 6, 10], [0, 1, 8, 1], [5, 9, 0, 8]]
[[3, 0, 1], [6, 6, 1], [3, 1, 8], [6, 0, 9]]
[[105, 18, 145], [36, 14, 74], [117, 54, 86]]


### 输入样例:

在这里给出一组输入。例如:

in
7
1
1




### 输出样例:

在这里给出相应的输出。例如:

out
[[5]]
[[2]]
[[10]]


### 输入样例:

在这里给出一组输入。例如:

in
7
3
1


### 输出样例:

在这里给出相应的输出。例如:

out
[[5], [2], [6]]
[[10, 0, 1]]
[[50, 0, 5], [20, 0, 2], [60, 0, 6]]






answer:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。