Python 不使用numpy,求自定义矩阵的n次幂 / 蓝桥杯 基础练习 vip题库 — 矩阵乘法

题目

在这里插入图片描述

重点代码

def matrix_2mi(a, b):
    J = range(N)
    K = range(N)
    I = range(N)
    return [[sum(a[i][j] * b[j][k] for j in J) for k in K] for i in I]

完整代码

def matrix_2mi(a, b):
    J = range(N)
    K = range(N)
    I = range(N)
    return [[sum(a[i][j] * b[j][k] for j in J) for k in K] for i in I]


N, M = map(int, input().split())

matrix = []
for i in range(N):
    juzhen = list(map(int, input().split()))
    matrix.append(juzhen)

out_matrix = []

if M == 0:
    for i in range(N):
        out_matrix.append([0] * N)
    for i in range(N):
        out_matrix[i][i] = 1
else:
    out_matrix = matrix
    for i in range(M-1):  #2次幂只循环1次
        out_matrix = matrix_2mi(out_matrix, matrix)

#print(out_matrix)
for i in range(N):
    for j in range(N):
        print(out_matrix[i][j], end = '')
        if j != (N - 1):
            print(end = ' ')
    print(end = '\n')

评测结果

在这里插入图片描述

参考

  1. How to multiply two matrices together in Python [duplicate]
  2. Python Matrix Multiplication Variations
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值