неділя, 11 грудня 2016 р.

Дополнительная

Дополнительная

Выведите таблицу размером n×n, заполненную числами от 1 до n2 по спирали, выходящей из левого верхнего угла и закрученной по часовой стрелке, как показано в примере (здесь n=5
):
Sample Input:
5
Sample Output:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
You are right, well done!
1
SIZE=int(input())
2
 
3
def change(matrix, step, val): 
4
    if step>=SIZE-step:
5
        return matrix
6
    
7
    for i in range(step, SIZE-step):
8
        matrix[SIZE-step-1][i]=SIZE-1-3*step+i+val
9
        matrix[i][SIZE-step-1]=3*(SIZE-1)-5*step-i+val
10
        matrix[step][i]=4*(SIZE-1)-7*step-i+val
11
        matrix[i][step]=-step+i+val
12
        
13
    return change(matrix, step+1, 4*(SIZE-1)-8*step+val)
14
        
15
 
16
matrix = [[0 for x in range(SIZE)] for y in range(SIZE)]
17
m = list(zip(*change(matrix, 0, 1))) 
18
for y in m:
19
    print (''.join(["%4d"%x for x in y]))
Code Challenge

Немає коментарів:

Дописати коментар