编程题:矩阵乘法
采用列表的方法计算矩阵的乘法,这里为了简化题目两个相乘的矩阵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:若无答案欢迎评论
$$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:若无答案欢迎评论