Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import copy
- #вначале нужно посчитать определитель
- def minor(a,c_): #столбец
- res = []
- for r in range(1,len(a)): # первую строку вычеркиваем , поэтому с единицы начинаем
- res.append([])
- for c in range(len(a[0])):
- if c != c_:
- res[-1].append(a[r][c]) # добавляем в последнюю строку
- return res
- def determinant(a):
- if len(a) == 1:
- return a[0][0]
- res = 0
- k = 1
- for c in range(len(a[0])):
- res += k*a[0][c]*determinant(minor(a,c))
- k *= -1
- return res
- #print(determinant(a))
- #2 -3 -1 = 7
- #5 +2 +3 = 9
- #6 -5 -4 = 3
- a = []
- n = int(input())
- for i in range(n):
- a.append(list(map(int,input().split())))
- print('b>>')
- b = list(map(int,input().split()))
- D = determinant(a)
- print('D='D)
- def Kramer(a,b):
- res = []
- for c in range(len(a)):
- aa = copy.deepcopy(a)
- for r in range(len(a)):
- aa[r][c] = b[r]
- d = determinant(aa)
- res.append(d/D)
- return res
- print(Kramer(a,b))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement