蓝桥杯Python B组练习——矩阵乘法

一、题目

问题描述

给定一个N阶矩阵A,输出A的M次幂(M是非负整数)

例如:

A =

1 2

3 4

A的2次幂

7 10

15 22

输入格式

第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数

接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值

输出格式

输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开

样例输入

2 2

1 2

3 4

样例输出

7 10

15 22

python代码与解析

A,B,C 是三个矩阵,若 A × B = C ,矩阵C的第i行第j列元素=矩阵A的第i行元素与矩阵B的第j列对应元素乘积之和。

例如:

二、思路

主要就是要知道线代里面矩阵乘法的算法,然后定义一个计算矩形幂的函数,把输入的参数传进去调用即可。

三、Python代码

复制代码
n,m = map(int,input().split())
ls=[[int(i) for i in input().split()] for i in range(n)]

def juzhen(n,ls,ls2):
    ls1=[[0 for i in range(n)] for i in range(n)]
    for i in range(n):
        for j in range(n):
            for k in range(n):
                ls1[i][j]+=ls[i][k]*ls2[k][j]
    return ls1

if m>0:
    ls_ans = ls
    for i in range(m-1):
        ls=juzhen(n,ls,ls_ans)
else:
    for i in range(n):
        ls[i][i]=1

for i in range(n):
    for j in range(n):
        print(ls[i][j],end=" ")
    print()
相关推荐
星火飞码iFlyCode1 分钟前
iFlyCode实践规范驱动开发(SDD):招考平台报名相片质量抽检功能开发实战
java·前端·python·算法·ai编程·科大讯飞
以为不会掉头发的詹同学1 分钟前
【TCP通讯加密】TLS/SSL 证书生成、自签名证书、请求 CA 签发证书以及使用 Python TCP 服务器与客户端进行加密通讯
服务器·python·tcp/ip·ssl
世界唯一最大变量5 分钟前
此算法能稳定求出柏林52城问题最优解7540.23(整数时为7538),比传统旅行商问题的算法7544.37还优
前端·python·算法
superman超哥7 分钟前
仓颉高性能实践:内存布局优化技巧深度解析
c语言·开发语言·c++·python·仓颉
小二·10 分钟前
会议精灵:用ModelEngine构建智能办公助手实战记录
开发语言·python
技术工小李11 分钟前
2026马年年会——抢红包游戏
python
一个平凡而乐于分享的小比特14 分钟前
Colorama 使用教程
python·colorama
王夏奇17 分钟前
城乡居民医疗保险的一些划算商业保险的补充
python
刘永鑫Adam19 分钟前
Nature Methods | 诸奇赟组-Scikit-bio:用于生物组学数据分析的基础Python库
人工智能·python·算法·机器学习·数据分析
Zevalin爱灰灰20 分钟前
线性代数 第二章——矩阵及其运算
线性代数·矩阵