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.

A293945 Orbit of word "2" under De Mol's 5-shift tag system over the alphabet {1,2} defined in the Comments.

Original entry on oeis.org

2, 222, 21222, 1221222, 222112, 21221222, 2221221222, 212221221222, 12212221221222, 2212212222112, 122221121221222, 11212212222112, 2122221122112, 211221121221222, 11212212221221222, 2122212212222112, 122122221121221222, 22211212212222112, 2122122221121221222, 222211212212221221222
Offset: 1

Views

Author

N. J. A. Sloane, Oct 23 2017

Keywords

Comments

This tag system maps a word w over {1,2} to w', where if w begins with 1, w' is obtained by appending 2112 to w and deleting the first five letters, or if w begins with 2, w' is obtained by appending 1221222 to w and deleting the first five letters.
It can be shown that under this tag system every word different from "1" has an infinite orbit [De Mol, p. 307].

Crossrefs

Programs

  • Maple
    with(StringTools);
    f1:=proc(w) local L, t2, t1, ws, w2;
    t1:="2112"; t2:="1221222"; ws:=convert(w, string);
    if ws[1]="1" then w2:=Join([ws, t1], ""); else w2:=Join([ws, t2], ""); fi;
    L:=length(w2); if L <= 3 then return(-1); fi;
    w2[6..L]; end;
    # and apply f1 repeatedly to "2"
  • Python
    from itertools import islice
    def agen(w="2"):
        while True:
            yield int(w)
            w += ("2112" if w[0] == "1" else "1221222")
            w = w[5:]
    print(list(islice(agen(), 20))) # Michael S. Branicky, Jan 06 2025