Skip to content

Latest commit

 

History

History
30 lines (23 loc) · 1.27 KB

README.md

File metadata and controls

30 lines (23 loc) · 1.27 KB

Зиг-заг

Дефинирайте функция zig_zag(n), която приема като единствен параметър цяло число n > 0 и връща като резултат квадратна матрица n × n, представена като списък от списъци, която съдържа числата от 1 до n², които я изпълват зигзагообразно отгоре надолу, ето така:

────────┐
┌───────┘
└────────

Нечетните редове на матрицата съдържат числа, нарастващи отляво надясно, а четните редове съдържат числа, нарастващи отдясно наляво. Пример за n = 3 и n = 4:

zig_zag(3)
> [[1, 2, 3],
   [6, 5, 4],
   [7, 8, 9]]

zig_zag(4)
> [[1,  2,  3,  4 ],
   [8,  7,  6,  5 ],
   [9,  10, 11, 12],
   [16, 15, 14, 13]]

Няма да получите некоректни данни, така че не се притеснявайте дали n е отрицателно число.

P.S. Видно от sample_spec-a zig_zag(1) следва да връща [[1]]