OFFSET
1,2
MAPLE
# First define the mapping by defining the strings T1 and T2:
# Work over the alphabet {1, 2}
# 11 / 2212 A284116 This is the "Post Tag System"
T1:="11"; T2:="2212";
# 11 / 2122 A291067 These three are from the Watanabe paper
T1:="11"; T2:="2122";
# 11 / 2221 A291068
T1:="11"; T2:="2221";
# 11 / 1222 A291069
T1:="11"; T2:="1222";
with(StringTools):
# the mapping:
f1:=proc(w) local L, ws, w2; global T1, T2;
ws:=convert(w, string);
if ws="-1" then return("-1"); fi;
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;
# Construct list of words over {1, 2} (A007931)
a:= proc(n) local m, r, d; m, r:= n, 0;
while m>0 do d:= irem(m, 2, 'm');
if d=0 then d:=2; m:= m-1 fi;
r:= d, r
od; parse(cat(r))/10
end:
WLIST := [seq(a(n), n=1..100)];
# apply the map once:
W2:=map(f1, WLIST);
CROSSREFS
KEYWORD
sign
AUTHOR
N. J. A. Sloane, Aug 18 2017
STATUS
approved