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.

A101856 Number of non-intersecting polygons that it is possible for an accelerating ant to produce with n steps (rotations & reflections not included). On step 1 the ant moves forward 1 unit, then turns left or right and proceeds 2 units, then turns left or right until at the end of its n-th step it arrives back at its starting place.

This page as a plain text file.
%I A101856 #55 Feb 16 2025 08:32:55
%S A101856 0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,3,0,0,0,0,0,0,25,67,0,0,0,0,0,0,515,
%T A101856 1259,0,0,0,0,0,0,15072,41381,0,0,0,0,0,0,588066,1651922,0,0,0,0,0,0,
%U A101856 25263990,73095122,0,0,0,0,0,0,1194909691,3492674650,0,0,0,0,0,0
%N A101856 Number of non-intersecting polygons that it is possible for an accelerating ant to produce with n steps (rotations & reflections not included). On step 1 the ant moves forward 1 unit, then turns left or right and proceeds 2 units, then turns left or right until at the end of its n-th step it arrives back at its starting place.
%C A101856 This walk by an accelerating ant can only arrive back at the starting point after n steps where n is 0 or -1 mod(8).
%D A101856 Dudeney, A. K. "An Odd Journey Along Even Roads Leads to Home in Golygon City." Sci. Amer. 263, 118-121, 1990.
%H A101856 Bert Dobbelaere, <a href="/A101856/a101856.cpp.txt">C++ program</a>
%H A101856 L. C. F. Sallows, <a href="http://leesallows.com/files/New%20Pathways.pdf">New Pathways in Serial Isogons</a>, Math. Intell. 14, 55-67, 1992.
%H A101856 Lee Sallows, Martin Gardner, Richard K. Guy and Donald Knuth, <a href="http://www.jstor.org/stable/2690648">Serial Isogons of 90 Degrees</a>, Math Mag. 64, 315-324, 1991.
%H A101856 Eric Weisstein's World of Mathematics, <a href="https://mathworld.wolfram.com/Golygon.html">Golygon</a>
%e A101856 For example: a(7) = 1 because of the following solution:
%e A101856 655555...
%e A101856 6....4...
%e A101856 6....4...
%e A101856 6....4...
%e A101856 6....4333
%e A101856 6.......2
%e A101856 777777712
%e A101856 where the ant starts at the "1" and moves right 1 space, up 2 spaces and so on...
%e A101856 From _Seiichi Manyama_, Sep 23 2017: (Start)
%e A101856 a(8) = 1 because of the following solution:
%e A101856 (0, 0) -> (1, 0) -> (1, 2) -> (-2, 2) -> (-2, -2) -> (-7, -2) -> (-7, -8) -> (0, -8) -> (0, 0).
%e A101856 .....4333
%e A101856 .....4..2
%e A101856 .....4.12
%e A101856 .....4.8.
%e A101856 655555.8.
%e A101856 6......8.
%e A101856 6......8.
%e A101856 6......8.
%e A101856 6......8.
%e A101856 6......8.
%e A101856 77777778.
%e A101856 a(15) = 1 because of the following solution:
%e A101856 (0, 0) -> (1, 0) -> (1, 2) -> (4, 2) -> (4, -2) -> (-1, -2) -> (-1, -8) -> (-8, -8) -> (-8, -16) -> (-17, -16) -> (-17, -26) -> (-28, -26) -> (-28, -14) -> (-15, -14) -> (-15, 0) -> (0, 0).
%e A101856 a(16) = 3 because of the following solutions:
%e A101856 (0, 0) -> (1, 0) -> (1, 2) -> (4, 2) -> (4, 6) -> (-1, 6) -> (-1, 12) -> (-8, 12) -> (-8, 20) -> (-17, 20) -> (-17, 10) -> (-28, 10) -> (-28, -2) -> (-15, -2) -> (-15, -16) -> (0, -16) -> (0, 0),
%e A101856 (0, 0) -> (1, 0) -> (1, 2) -> (4, 2) -> (4, 6) -> (-1, 6) -> (-1, 0) -> (-8, 0) -> (-8, -8) -> (-17, -8) -> (-17, -18) -> (-28, -18) -> (-28, -30) -> (-15, -30) -> (-15, -16) -> (0, -16) -> (0, 0),
%e A101856 (0, 0) -> (1, 0) -> (1, 2) -> (4, 2) -> (4, -2) -> (-1, -2) -> (-1, -8) -> (-8, -8) -> (-8, 0) -> (-17, 0) -> (-17, -10) -> (-28, -10) -> (-28, 2) -> (-15, 2) -> (-15, 16) -> (0, 16) -> (0, 0). (End)
%o A101856 (Ruby)
%o A101856 def A101856(n)
%o A101856   ary = [0, 0]
%o A101856   b_ary = [[[0, 0], [1, 0], [1, 1], [1, 2]]]
%o A101856   s = 4
%o A101856   (3..n).each{|i|
%o A101856     s += i
%o A101856     t = 0
%o A101856     f_ary, b_ary = b_ary, []
%o A101856     if i % 2 == 1
%o A101856       f_ary.each{|a|
%o A101856         b = a.clone
%o A101856         x, y = *b[-1]
%o A101856         b += (1..i).map{|j| [x + j, y]}
%o A101856         b_ary << b if b.uniq.size == s
%o A101856         t += 1 if b[-1] == [0, 0] && b.uniq.size == s - 1
%o A101856         c = a.clone
%o A101856         x, y = *c[-1]
%o A101856         c += (1..i).map{|j| [x - j, y]}
%o A101856         b_ary << c if c.uniq.size == s
%o A101856         t += 1 if c[-1] == [0, 0] && c.uniq.size == s - 1
%o A101856       }
%o A101856     else
%o A101856       f_ary.each{|a|
%o A101856         b = a.clone
%o A101856         x, y = *b[-1]
%o A101856         b += (1..i).map{|j| [x, y + j]}
%o A101856         b_ary << b if b.uniq.size == s
%o A101856         t += 1 if b[-1] == [0, 0] && b.uniq.size == s - 1
%o A101856         c = a.clone
%o A101856         x, y = *c[-1]
%o A101856         c += (1..i).map{|j| [x, y - j]}
%o A101856         b_ary << c if c.uniq.size == s
%o A101856         t += 1 if c[-1] == [0, 0] && c.uniq.size == s - 1
%o A101856       }
%o A101856     end
%o A101856     ary << t
%o A101856   }
%o A101856   ary[0..n - 1]
%o A101856 end
%o A101856 p A101856(16) # _Seiichi Manyama_, Sep 24 2017
%Y A101856 Cf. A101857, A006718, A292793.
%K A101856 nice,nonn
%O A101856 1,16
%A A101856 _Gordon Hamilton_, Jan 27 2005
%E A101856 a(31)-a(70) from _Bert Dobbelaere_, Jan 01 2019