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.

A292793 1/4 of the number of self-avoiding paths that are made of alternated vertical and horizontal n consecutive steps. (start point is different from end point.)

Original entry on oeis.org

1, 2, 4, 8, 16, 29, 54, 98, 176, 318, 572, 1026, 1826, 3255, 5794, 10233, 18172, 32012, 56488, 99469, 175034, 307479, 540068, 947235, 1659907, 2908958, 5095019, 8917677, 15598100, 27281252, 47718310, 83298748, 145405769, 253641303, 442352671, 770769569, 1343166519, 2339093953
Offset: 2

Views

Author

Seiichi Manyama, Sep 23 2017

Keywords

Examples

			a(2) = 1;
   E
   |
   *
   |
S--*
a(3) = 2;
   *--*--*--E     E--*--*--*
   |                       |
   *                       *
   |                       |
S--*                    S--*
a(4) = 4;
            E                                      E
            |                                      |
            *                                      *
            |                                      |
            *                                      *
            |                                      |
            *                                      *
            |                                      |
   *--*--*--*        *--*--*--*     *--*--*--*     *--*--*--*
   |                 |        |     |        |              |
   *                 *        *     *        *              *
   |                 |        |     |        |              |
S--*              S--*        *     *     S--*           S--*
                              |     |
                              E     E
		

Crossrefs

Cf. A101856.

Programs

  • Ruby
    def A292793(n)
      ary = [1]
      b_ary = [[[0, 0], [1, 0], [1, 1], [1, 2]]]
      s = 4
      (3..n).each{|i|
        s += i
        f_ary, b_ary = b_ary, []
        if i % 2 == 1
          f_ary.each{|a|
            b = a.clone
            x, y = *b[-1]
            b += (1..i).map{|j| [x + j, y]}
            b_ary << b if b.uniq.size == s
            c = a.clone
            x, y = *c[-1]
            c += (1..i).map{|j| [x - j, y]}
            b_ary << c if c.uniq.size == s
          }
        else
          f_ary.each{|a|
            b = a.clone
            x, y = *b[-1]
            b += (1..i).map{|j| [x, y + j]}
            b_ary << b if b.uniq.size == s
            c = a.clone
            x, y = *c[-1]
            c += (1..i).map{|j| [x, y - j]}
            b_ary << c if c.uniq.size == s
          }
        end
        ary << b_ary.size
      }
      ary
    end
    p A292793(16)

Extensions

a(25)-a(39) from Bert Dobbelaere, Sep 14 2019