Как найти количество шагов между любым числом в спиральной матрице и центром? - PullRequest
0 голосов
/ 19 апреля 2020

Может ли кто-нибудь помочь или дать алгоритм, чтобы найти количество шагов от любого числа n до центра спиральной матрицы:

Спиральная матрица может иметь любой нечетный размер, как этот размер 5

17    16    15    14    13
18     5     4     3    12
19     6     1     2    11
20     7     8     9    10
21    22    23    24    25

Как найти количество шагов от любого числа, например, от 13 до центра 1? В этом примере с 13 до 1 количество шагов (идущих только влево и вправо вверх) равно 4 .

1 Ответ

1 голос
/ 19 апреля 2020

Это будет делать:

% given
n = 13;            
A = spiral(5);

[ii,jj] = ind2sub(size(A),find(A == n)); % x,y index of n
[c] = ceil(size(A)/2);                   % index of center
dis = abs(c(1) - ii) + abs(c(2) - jj);   % distance
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...