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.
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
Examples
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.
Links
- Dominic McCarty, Table of n, a(n) for n = 1..10000 (first 624 terms from Jean-Marc Falcoz)
Crossrefs
Cf. A228326 for the same idea with sets of two digits.
Programs
-
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
Comments