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.

A290741 Orbit of word "2" under the 3-shift tag system over the alphabet {1,2} defined in the Comments.

Original entry on oeis.org

2, 21222, 221221222, 2212221221222, 22212212221221222, 122122212212221221222, 1222122122212212222112, 21221222122122221122112, 212221221222211221121221222, 2212212222112211212212221221222, 22122221122112122122212212221221222, 222211221121221222122122212212221221222
Offset: 1

Views

Author

N. J. A. Sloane, Aug 11 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 three letters, or if w begins with 2, w' is obtained by appending 1221222 to w and deleting the first three letters.
This is a 3-shift version of a 5-shift tag system studied in [De Mol, p. 307] (cf. A293945).

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[4..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[3:]
    print(list(islice(agen(), 12))) # Michael S. Branicky, Mar 15 2022

Extensions

Definition corrected by N. J. A. Sloane, Oct 23 2017 (this is not De Mol's 5-shift tag system, which is described in A293945).