题解 | #矩阵乘法#

矩阵乘法

https://www.nowcoder.com/practice/ebe941260f8c4210aa8c17e99cbc663b

#令第一个矩阵为A,第二个矩阵为B
#A的行数为A_m,列数为A_n;B的行数为B_m,列数为B_n;
A_m = int(input())
A_n = B_m = int(input())
B_n = int(input())

#加载第一个矩阵
A = []
i = 0
while i < A_m:
    A.append([int(i) for i in input().split()])
    i += 1

#加载第二个矩阵
B = []
i = 0
while i < B_m:
    B.append([int(i) for i in input().split()])
    i += 1

#A与B相乘得矩阵C
#函数f(i,j),表示矩阵C第i行,第j列的值。i,j都是索引,从0开始。
def f(i:int,j:int,A:list,B:list)->int:
    Ai = A[i]                 #A的第i行元素
    Bj = [i[j] for i in B]    #B的第j列元素
    result = 0
    for i in range(len(Ai)):
        result += Ai[i] * Bj[i]
    return result

C = [[f(i,j,A,B) for j in range(B_n)]for i in range(A_m)]
for i in C:
    for j in i:
        print(j,end=' ')
    print()

全部评论

相关推荐

牛客251490824号:你这不去保研找鸡毛工作
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客企业服务