问题描述
给定一个N阶矩阵A,输出A的M次幂(M是非负整数)
例如:
A =
1 2
3 4
A的2次幂
7 10
15 22
大致思路
首先输入N,M
然后用一个for循环输入矩阵A
接下来关键是实现矩阵的方幂乘法:
第一步,考虑特殊情况M=0和M=1,分别输出单位矩阵和原矩阵并exit()
第二步,对矩阵B,C赋A的值,注意list中有可变元素需要深拷贝copy.deepcopy
第三步,while实现n次方幂运算,3重for循环实现矩阵乘法,B用来记录运算结果,C在每次乘法运算后赋予B的值用于下次运算
代码
import copy
//输入N,M
N, M = map(int, input().split())
//for循环输入矩阵A
a = []
for i in range(1, N+1):
a.append(list(