Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm tổng đường chéo của ma trận trong Python

Giả sử chúng ta có một ma trận vuông; chúng ta phải tìm tổng các đường chéo của ma trận. Vì vậy, chỉ bao gồm tổng của tất cả các phần tử trên đường chéo chính và tất cả các phần tử trên đường chéo phụ và bỏ qua phần tử giao nhau.

Vì vậy, nếu đầu vào giống như

10 5 9 6
8 15 3 2
3 8 12 3
2 11 7 3

thì đầu ra sẽ là Các phần tử đường chéo chính là [10,15,12,3] tổng là 40, đường chéo phụ [6,3,8,2] tổng là 19, do đó tổng cộng là 59.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • m:=số hàng của ma trận

  • nếu m giống với 1 thì

    • ma trận trả về [0, 0]

  • đếm:=0

  • đối với tôi trong phạm vi từ 0 đến m - 1, hãy thực hiện

    • count:=count + matrix [i, i]

    • count:=count + matrix [i, (-1 - i)]

  • nếu m là số lẻ thì

    • ind:=thương số của m / 2

    • count:=count - ma trận [ind, ind]

  • số lần trả lại

Ví dụ (Python)

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

def solve(matrix):
   m = len(matrix)
   if m == 1: return matrix[0][0]

   count = 0
   for i in range(m):
      count += matrix[i][i]
      count += matrix[i][-1 - i]

   if m % 2 == 1: count -= matrix[m // 2][m // 2]

   return count

matrix = [[10,5,9,6],[8,15,3,2],[3,8,12,3],[2,11,7,3],]
print(solve(matrix))

Đầu vào

[[10,5,9,6],[8,15,3,2],[3,8,12,3],[2,11,7,3]]

Đầu ra

59