蓝桥杯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()
相关推荐
_OP_CHEN1 分钟前
【算法基础篇】(三十三)动态规划之区间 DP:从回文串到石子合并,吃透区间类问题的万能解法
c++·算法·蓝桥杯·动态规划·算法竞赛·acm/icpc·区间动态规划
William数据分析2 分钟前
JavaScript 语法零基础入门:从变量到异步(附 Python 语法对比)
开发语言·javascript·python
爱笑的眼睛113 分钟前
SQLAlchemy 核心 API 深度解析:超越 ORM 的数据库工具包
java·人工智能·python·ai
CoolScript6 分钟前
WingIDE破解代码-支持最新版本
python
测试199810 分钟前
Selenium(Python web测试工具)基本用法详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
资深设备全生命周期管理10 分钟前
PLC监控系统+UI Alarm Show
python
范小多12 分钟前
24小时学会Python Visual code +Python Playwright通过谷歌浏览器取控件元素(连载、十一)
服务器·前端·python
曹牧15 分钟前
Java:Foreach语法糖
java·开发语言·python
盼哥PyAI实验室16 分钟前
Python验证码处理实战:从12306项目看验证码识别的技术演进
开发语言·网络·python
qq_3561969516 分钟前
day37简单的神经网络@浙大疏锦行
python