cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A235913 a(n) is the Manhattan distance between n^3 and (n+1)^3 in a square spiral of positive integers with 1 at the center.

Original entry on oeis.org

1, 3, 11, 15, 13, 9, 5, 21, 33, 59, 71, 49, 47, 35, 15, 13, 43, 73, 109, 123, 117, 109, 167, 141, 113, 77, 43, 5, 51, 95, 145, 201, 263, 281, 397, 413, 317, 333, 269, 239, 183, 121, 63, 11, 81, 147, 219, 307, 379, 471, 567, 623, 517, 569, 683, 503, 545, 473, 395, 311
Offset: 1

Views

Author

Alex Ratushnyak, Jan 16 2014

Keywords

Comments

Spiral begins:
.
49 26--27--28--29--30--31
| | |
48 25 10--11--12--13 32
| | | | |
47 24 9 2---3 14 33
| | | | | | |
46 23 8 1 4 15 34
| | | | | |
45 22 7---6---5 16 35
| | | |
44 21--20--19--18--17 36
| |
43--42--41--40--39--38--37

Examples

			Manhattan distance between 2^3=8 and 3^3=27 is 3 in a square spiral, so a(2)=3.
		

Crossrefs

Programs

  • Python
    import math
    def get_x_y(n):
      sr = int(math.sqrt(n-1))  # Ok for small n's
      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, 77):
      x0, y0 = get_x_y(n**3)
      x1, y1 = get_x_y((n+1)**3)
      print(abs(x1-x0)+abs(y1-y0), end=', ')