Ввести целые M и N, вывести последовательность 0 1 2 3 4 5 6 7 8 9 0 1 2 3 … в виде спирально (по часовой стрелке, из верхнего левого угла) заполненной таблицы N×M (N строк, M столбцов). Не забываем про то, что M и N могут быть чётными, нечётными и неизвестно, какое больше.
В конце этой страницы — спойлер: описание алгоритма.
6,5
0 1 2 3 4 5 7 8 9 0 1 6 6 7 8 9 2 7 5 6 5 4 3 8 4 3 2 1 0 9
- Заводим матрицу N×M с невозможными значениями (например, -1)
- Заводим список направлений (приращений координат): →, ↓, ←, ↑
- Текущие координаты — 0,0; текущее направление — →
- Вписать очередную цифру по текущим координатам
- Если по направлению лежит граница массива, или значение массива ≠ -1
- Циклически сменить направление на следующее
- Повторить с п.4 N*M раз