这是对线性代数中行列式计算问题的编程解决。
def fun(c, n):
if len(c) > 3:
s = 0
for i in range(n):
C = []
for j in range(n):
C.append(c[j][1:])
C.remove(C[i])
if i % 2 == 1:
#递归调用求余子式方法
s -= fun(C,len(C)) * c[i][0]
else:
s += fun(C,len(C)) * c[i][0]
return s
elif len(c) == 3:
"""3阶行列式,对角线方法求解"""
jia = 0
jian = 0
d1 = 1
d2 = 1
a1 = 0
a2 = 0
a3 = 0
a4 = 0
while a1 < 3:
for i in range(3):
d1 *= c[i][a1 % 3]
a1 += 1
jia += d1
d1 = 1
for i in range(3):
d2 *= c[i][a2 % 3]
a2 -= 1
jian +