ধরুন আমাদের একটি বর্গ ম্যাট্রিক্স আছে; আমাদের ম্যাট্রিক্স কর্ণের যোগফল খুঁজে বের করতে হবে। তাই শুধুমাত্র প্রাথমিক কর্ণের সমস্ত উপাদানের যোগফল এবং গৌণ কর্ণের সমস্ত উপাদানের যোগফল অন্তর্ভুক্ত করুন এবং ক্রসিং উপাদানটিকে উপেক্ষা করুন৷
সুতরাং, যদি ইনপুট মত হয়
10 | 5 | 9 | 6 |
8 | 15 | 3 | 2 |
3 | 8 | 12 | 3 |
2 | 11 | 7 | 3 |
তাহলে আউটপুট হবে প্রাথমিক তির্যক উপাদান হল [10,15,12,3] যোগফল হল 40, সেকেন্ডারি তির্যক [6,3,8,2] যোগফল হল 19, তাই মোট যোগফল 59৷
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
m :=ম্যাট্রিক্সের সারি গণনা
-
যদি m 1 এর সমান হয়, তাহলে
-
রিটার্ন ম্যাট্রিক্স[0, 0]
-
-
গণনা :=0
-
আমি 0 থেকে m - 1 রেঞ্জের জন্য, কর
-
গণনা :=গণনা + ম্যাট্রিক্স[i, i]
-
গণনা :=গণনা + ম্যাট্রিক্স[i, (-1 - i)]
-
-
যদি m বিজোড় হয়, তাহলে
-
ind :=m/2 এর ভাগফল
-
গণনা :=গণনা - ম্যাট্রিক্স[ইন্ড, ইন্ড]
-
-
ফেরত গণনা
উদাহরণ (পাইথন)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
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))
ইনপুট
[[10,5,9,6],[8,15,3,2],[3,8,12,3],[2,11,7,3]]
আউটপুট
59