login
A302173
Lexicographically first sequence of distinct terms such that any set of three successive digits can be reordered as {d, d+1, d+2}, d being the smallest of the three digits.
7
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 78, 67, 56, 45, 34, 23, 12, 31, 20, 120, 123, 42, 312, 342, 345, 64, 53, 423, 453, 456, 75, 645, 675, 678, 97, 86, 756, 786, 789, 7867, 89, 7897, 867, 564, 534, 231, 201, 234, 567, 897, 8675, 6453, 4231, 2012, 3120, 1201, 2312, 3123, 1231, 2342, 3423, 1234, 2345
OFFSET
1,3
COMMENTS
As the digit 0 has no predecessor and the digit 9 has no successor here, sets of successive digits like {1,0,9} and {8,9,0} are forbidden.
LINKS
Dominic McCarty, Table of n, a(n) for n = 1..10000 (first 624 terms from Jean-Marc Falcoz)
EXAMPLE
Terms a(1) to a(10) are obvious;
a(11) is 78 because 78 is the smallest integer not yet in the sequence such that the elements of the sets {8,9,7} and {9,7,8} are three consecutive digits;
a(12) is 67 because 67 is the smallest integer not yet in the sequence such that the elements of the sets {7,8,6} and {8,6,7} are three consecutive digits;
a(13) is 56 because 56 is the smallest integer not yet in the sequence such that the elements of the sets {6,7,5} and {7,5,6} are three consecutive digits;
etc.
PROG
(Python)
a, runLength = [i for i in range(10)], 3
def helper(s, k, l, a):
if k not in a: return k
return min([helper(s[(2-l):]+str(i), int(str(k)+str(i)), l, a) for i in range(10) if (k!=0 or i!=0) and s.find(str(i))==-1 and (all(d[n]+1==d[n+1] for n in range(l-1)) if (d:=sorted([int((s+str(i))[n]) for n in range(l)])) else False)])
while len(a)<100: a.append(helper(("".join(map(str, a)))[(1-runLength):], 0, runLength, a))
print(a) # Dominic McCarty, Feb 02 2025
CROSSREFS
Cf. A228326 for the same idea with sets of two digits.
Sequence in context: A153670 A229184 A331203 * A348799 A341909 A024663
KEYWORD
nonn,base,changed
AUTHOR
STATUS
approved