A232115 a(n) is the Manhattan distance between n and n(n+1)/2 in a square spiral of positive integers with 1 at the center.
0, 1, 3, 4, 2, 3, 5, 6, 4, 5, 9, 6, 6, 7, 11, 8, 8, 15, 9, 10, 10, 13, 11, 12, 22, 11, 15, 18, 12, 15, 17, 22, 12, 21, 25, 10, 26, 21, 19, 18, 24, 27, 15, 34, 24, 21, 31, 20, 28, 21, 31, 24, 28, 41, 19, 36, 36, 23, 35, 26, 38, 23, 41, 36, 28, 53, 29, 38, 40, 31, 39
Offset: 1
Keywords
Programs
-
Python
import math def get_x_y(n): sr = math.isqrt(n-1) sr = sr-1+(sr&1) rm = n-sr*sr d = (sr+1)//2 if rm<=sr+1: return -d+rm,d if rm<=sr*2+2: return d,d-(rm-(sr+1)) if rm<=sr*3+3: return d-(rm-(sr*2+2)),-d return -d,-d+rm-(sr*3+3) for n in range(1,333): x0,y0 = get_x_y(n) x1,y1 = get_x_y(n*(n+1)//2) print(abs(x1-x0)+abs(y1-y0), end=', ')
Comments