A302499 Lexicographically first sequence of distinct terms such that any set of four successive digits can be reordered as {d, d+1, d+2, d+3}, d being the smallest of the four digits.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 67, 85, 674, 56, 34, 52, 341, 23, 41, 230, 12, 30, 123, 45, 63, 452, 345, 234, 523, 412, 301, 2301, 2341, 2345, 634, 563, 456, 74, 567, 89, 678, 96, 78, 967, 856, 745, 6345, 6745, 6785, 6789, 67856, 785, 67456, 789, 67896, 7856, 7456, 3452, 3412, 3012, 3456, 7896
Offset: 1
Examples
Terms a(1) to a(10) are obvious; a(11) is 67 because 67 is the smallest integer not yet in the sequence such that the elements of the sets {7,8,9,6} and {8,9,6,7} are four consecutive digits; a(12) is 85 because 85 is the smallest integer not yet in the sequence such that the elements of the sets {9,6,7,8} and {6,7,8,5} are four consecutive digits; a(13) is 674 because 674 is the smallest integer not yet in the sequence such that the elements of the three sets {7,8,5,6}, {8,5,6,7} and {5,6,7,4} are four consecutive digits; etc.
Links
- Dominic McCarty, Table of n, a(n) for n = 1..10000 (first 269 terms from Jean-Marc Falcoz)
Crossrefs
Programs
-
Python
a, runLength = [i for i in range(10)], 4 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 03 2025
Comments