0
点赞
收藏
分享

微信扫一扫

python 矩阵乘法

 

地址:https://www.nowcoder.com/practice/ebe941260f8c4210aa8c17e99cbc663b?tpId=37&&tqId=21292&rp=1&ru=/ta/huawei&qru=/ta/huawei/question-ranking

 

1 # @Author  :whyCai
2 # @Time :2021/6/6 11:31
3
4 '''
5 描述
6 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的
7
8 矩阵的大小不超过100*100
9 输入描述:
10 输入包含多组数据,每组数据包含:
11 第一行包含一个正整数x,代表第一个矩阵的行数
12 第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数
13 第三行包含一个正整数z,代表第二个矩阵的列数
14 之后x行,每行y个整数,代表第一个矩阵的值
15 之后y行,每行z个整数,代表第二个矩阵的值
16
17 输出描述:
18 对于每组输入数据,输出x行,每行z个整数,代表两个矩阵相乘的结果
19 示例1
20 输入:
21 2
22 3
23 2
24 1 2 3
25 3 2 1
26 1 2
27 2 1
28 3 3
29 输出:
30 14 13
31 10 11
32
33 '''
34
35 while(True):
36 try:x=int(input())
37 except:break
38 y = int(input())
39 z = int(input())
40 xy = []
41 yz = []
42 res=[]
43 for i in range(x):
44 xyi = input().split()
45 xy.append([int(i) for i in xyi])
46 for i in range(y):
47 yzi = input().split()
48 yz.append([int(i) for i in yzi])
49 # print(xy)
50 # print(yz)
51
52
53 for i in range(x):
54 # sum =0
55 strRes = ''
56 for j in range(z):
57 sum = 0
58 for k in range(y):
59 sum +=xy[i][k] * yz[k][j]
60 res.append(sum)
61 # str = ''
62 for ii in res:
63 strRes += str(ii) +' '
64 print(strRes)
65

 



举报

相关推荐

0 条评论