蓝桥杯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()
相关推荐
u0109147605 分钟前
C#怎么使用Span和Memory C#如何用Span优化内存操作减少GC压力提升性能【进阶】
jvm·数据库·python
m0_716430078 分钟前
CSS项目开发如何提速_应用BEM规范建立可复用的样式库
jvm·数据库·python
maqr_1109 分钟前
PyTorch bfloat16 张量转 NumPy 的兼容性解决方案
jvm·数据库·python
weixin_408717779 分钟前
mysql如何防止SQL注入攻击_使用预编译语句与参数化查询
jvm·数据库·python
皮肤科大白12 分钟前
X-AnyLabeling 快速入门
图像处理·python
weixin_4249993613 分钟前
http-equiv属性有哪些常用值_meta模拟HTTP头汇总【详解】
jvm·数据库·python
knight_9___14 分钟前
RAG面试题4
开发语言·人工智能·python·面试·agent·rag
WL_Aurora14 分钟前
每日一题——自然倍树
数据结构·python·算法·深度优先
源码之家16 分钟前
计算机毕业设计:Python股票数据可视化与LSTM股价预测系统 Flask框架 LSTM Keras 数据分析 可视化 深度学习 大数据 爬虫(建议收藏)✅
大数据·python·深度学习·信息可视化·django·lstm·课程设计
BU摆烂会噶20 分钟前
【LangGraph】实战:基于 LangGraph 实现的智能文档问答系统
人工智能·python·langchain