A383187 Diamond spiral number of the n-th point visited by the king moving on the two-dimensional grid always to the earliest unvisited point on the spiral, not immediately preceding or following on the spiral.
0, 2, 7, 1, 4, 11, 3, 9, 19, 8, 17, 30, 16, 6, 14, 5, 12, 23, 38, 22, 10, 20, 34, 52, 33, 18, 31, 48, 69, 47, 29, 15, 27, 43, 26, 13, 24, 39, 58, 81, 57, 37, 21, 35, 53, 75, 101, 74, 51, 32, 49, 70, 95, 124, 94, 68, 46, 28, 44, 64, 88, 63, 42, 25, 40, 59, 82, 109, 140, 108, 80, 56, 36, 54, 76
Offset: 0
Links
- M. F. Hasler, Table of n, a(n) for n = 0..999
- M. F. Hasler, Path plot of A383187. (Green = starting point (0,0).)
Crossrefs
Programs
-
Python
def diamond_number(z): x, y = int(z.real), int(z.imag); d = abs(x)+abs(y) return 2*d*(d-1)+((x if y<0 else d+y)if x>0 else 2*d-x if y>0 else 3*d-y) def A383187(n): if not hasattr(A:=A383187, 'terms'): A.terms=[0]; A.pos=0; # A.track=[0] while len(A.terms) <= n: s, d = min((s, d) for d in (1, 1+1j, 1j, 1j-1, -1, -1-1j, -1j, 1-1j) if abs((s:=diamond_number(A.pos+d))-A.terms[-1]) > 1 and s not in A.terms) A.terms.append(s); A.pos += d; # A.track.append(A.pos) return A.terms[n]
Comments