OFFSET
1,3
COMMENTS
Arms are numbered 0,1,2,3 for the base spirals with first segment directed East, South, West, North, respectively.
This numbering is successive arms around in the same direction that the spirals themselves turn (both clockwise in the diagrams in A362249).
FORMULA
If n is a square:
a(n) = 3*(n+1 mod 2); (a(n) = 3 for even squares).
EXAMPLE
a(5) = 0 because A362249(5) = 13 that is on spiral "E", which is encoded here as 0.
a(8) = 1 because A362249(8) = 58 that is on spiral "S", which is encoded here as 1.
a(11) = 2 because A362249(11) = 139 that is on spiral "W", which is encoded here as 2.
a(34) = 3 because A362249(34) = 1000 that is on spiral "N", which is encoded here as 3.
PROG
(MATLAB)
function a = A362363( max_n )
E = [0 ; 0]; S = [0 ; 0]; W = [0 ; 0]; N = [0 ; 0]; V = [0 0];
for k = 1:4*max_n
l = V(1+mod(k+1, 2)); s = (-1)^floor(k/2);
for m = l+(1*s):s:s*k
V(1+mod(k+1, 2)) = m; V2 = V(end:-1:1).*[-1 1];
N = [N V2']; E = [E V']; S = [S -V2']; W = [W -V'];
end
end
for n = 2:max_n
[th, r] = cart2pol(E(1, n), E(2, n));
rot = [cos(-th) -sin(-th); sin(-th) cos(-th)];
v = E(:, n)'*rot*r;
jE = find(sum(abs([E(1, :)-v(1); E(2, :)-v(2)]), 1) < 0.5);
jS = find(sum(abs([S(1, :)-v(1); S(2, :)-v(2)]), 1) < 0.5);
jW = find(sum(abs([W(1, :)-v(1); W(2, :)-v(2)]), 1) < 0.5);
jN = find(sum(abs([N(1, :)-v(1); N(2, :)-v(2)]), 1) < 0.5);
a(n-1) = find([length(jE) length(jS) length(jW) length(jN)] > 0) - 1;
end
end % Thomas Scheuerle, Apr 19 2023
CROSSREFS
KEYWORD
nonn
AUTHOR
Tamas Sandor Nagy and Thomas Scheuerle, Apr 17 2023
STATUS
approved