OFFSET
1,2
COMMENTS
Starting with the terms (1,2) this sequence consists of minimum increasing terms such that no term is the concatenation of any two previous distinct terms. The next consecutive number skipped after 121 is 122 = Concatenate(1, 22). This is the analog of a 2-Stöhr sequence with concatenation (base 10) substituting for addition. A033627 "0-additive sequence: not the sum of any previous pair" is another name for the 2-Stöhr sequence.
LINKS
Rémy Sigrist, Table of n, a(n) for n = 1..10000
Eric Weisstein's World of Mathematics, Stöhr Sequence.
Rémy Sigrist, PARI program for A114801
FORMULA
a(0) = 1, a(1) = 2, for n>2: a(n) = least k > a(n-1) such that k is not an element of {Concatenate(a(i), a(j))} for any distinct a(i) <= a(n-1) and a(j) <= a(n-1).
MATHEMATICA
conc[x_, y_] := FromDigits@ Flatten@ IntegerDigits[{x, y}]; L = {1, 2}; cc = {12, 21}; Do[k = 1 + Max@L; While[MemberQ[cc, k], k++]; cc = Union[cc, conc[#, k] & /@ L, conc[k, #] & /@ L]; AppendTo[L, k]; , {65}]; L (* Giovanni Resta, Jun 15 2016 *)
PROG
(PARI) See Links section.
(Python)
from itertools import count, islice
def agen(): # generator of terms
cats1, cats2, an, s = {"1", "2"}, {"12", "21"}, 3, "3"
yield from [1, 2]
while True:
yield an
cats2 |= {s + c for c in cats1} | {c + s for c in cats1}
cats1.add(s)
while (s:=str(an)) in cats1 or s in cats2:
an += 1
print(list(islice(agen(), 59))) # Michael S. Branicky, Feb 01 2024
CROSSREFS
KEYWORD
base,easy,nonn
AUTHOR
Jonathan Vos Post, Feb 18 2006
EXTENSIONS
Data corrected by Giovanni Resta, Jun 14 2016
STATUS
approved