20190823昆仑万维:最大公约数与矩阵乘法
1.最大公约数
def maxyushu(a,b):
a1,b1 = a,b
res = a1%b1
while res!=0:
a1 = b1
b1 = res
res = a1%b1
return str(b1)
if __name__ == "__main__":
a, b = map(int,input().split())
print(maxyushu(a,b))
貌似是 A^1+A^2+...+A^m
矩阵的乘法(可能不太对):
def chengfa(A,B,n):
res = []
BT = [list(n) for n in zip(*B)]
for i in range(n):
rowitem = []
for j in range(len(BT)):
num = 0
for br in range(len(BT[j])):
num += A[i][br]*BT[j][br]
rowitem.append(num)
res.append(rowitem)
return res
def xiangjia(A,B,n):
# res = [[0]*n]*n
res = [[0 for i in range(n)] for j in range(n)]
for i in range(n):
for j in range(n):
res[i][j] = A[i][j]+B[i][j]
return res
def matrixCo(matrix,n,k,m):
temp1 = matrix
res = matrix
for i in range(1,k):
temp2 = chengfa(temp1,matrix,n)
print("temp2",temp2)
res = xiangjia(res,temp2,n)
print("res-------",res)
temp1 = temp2
print("---------------------------")
return res
if __name__ == "__main__":
# n, k, m = map(int,input().split())
# matrix = []
# for i in range(n):
# row = list(map(int,input().split()))
# matrix.append(row)
n,k,m = 2, 2, 4
matrix = [[0, 1], [1, 1]]
print(matrixCo(matrix,n,k,m))

浙公网安备 33010602011771号