任何人都可以帮助或给出算法来找到从任何数字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。
这样做:
% 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