Matrix13. Дана квадратная матрица A порядка M. Начиная с элемента \(A_{1,1}\), вывести ее элементы следующим образом («уголками»): все элементы первой строки; элементы последнего столбца, кроме первого (уже выведенного) элемента; оставшиеся элементы второй строки; оставшиеся элементы предпоследнего столбца и т. д.; последним выводится элемент \(A_{M,1}\).

Решение на Python 3:

import random
import numpy

#M = random.randrange(2,10)
M = 7
print("M = ",M)
a = numpy.zeros((M, M))
#a.astype(int)

k = 0
for i in range(M):
for j in range(M-i):
k += 1
a[i][j] = k
k += M-i-1

k = M+1
for j in range(1,M):
for i in range(j,M):
a[i][M-j] = k
k += 1
k += M-j

print(a)

for i in range(M):
for j in range(M-i):
print(a[i][j], end=" ")
for j in range(i+1,M):
print(a[j][M-i-1], end=" ")