Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как заполнить матрицу против часовой стрелки

gg hf Ученик (140), открыт 3 недели назад
вод код который заполняет по часовой.Что тут нужно поменять
4 ответа
Лев Михайлов Гуру (3333) 3 недели назад
 n = int(input('Введите количество элементов: ')) 
matrix = [[0 for j in range(n)] for i in range(n)]
N = n * n
i = 0
j = 0
k = 1
while k <= N:
matrix[i][j] = k
if j <= i + 1 and i + j < n - 1:
i += 1
elif j < i and i + j >= n - 1:
j += 1
elif j >= i and i + j > n - 1:
i -= 1
else:
j -= 1
k += 1

for i in matrix:
print(*i)
Лев МихайловГуру (3333) 3 недели назад
 a = (lambda n: [[0] * n for _ in range(n)])(n:=int(input()))  
for i in range(1, n+1):
for j in range(1, n+1):
x, y = abs(i-n//2-1)+(i-1)//(n//2)*((n-1)%2), abs(j-n//2-1)+(j-1)//(n//2)*((n-1)%2)
s, r = (i-j+n)//n, n//2-(abs(x-y)+x+y)//2
a[i-1][j-1] = 4*r*(n-r)+s*(i-r+j-r-1)+abs(s-1)*(4*(n-2*r)-2-(i-r+j-r-1))
print('\n'.join([''.join(['{:4}'.format(item) for item in row]) for row in a]))
Маленький Гений Знаток (420) 3 недели назад
Не выполняй чудовищные задачи ей богу. Скачай Numpy и не парься. Баля.
Похожие вопросы