A302500 Lexicographically first sequence of distinct terms such that any set of five successive digits can be reordered as {d, d+1, d+2, d+3, d+4}, d being the smallest of the five digits.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 56, 78, 45, 67, 34, 562, 345, 12, 340, 123, 40, 1234, 51, 23, 401, 234, 512, 3401, 2340, 12340, 12345, 62, 3451, 2345, 623, 451, 23401, 23451, 23456, 73, 456, 734, 567, 84, 5673, 4562, 3456, 784, 5678, 95, 678, 956, 789, 56784, 56734, 5623, 4512, 34012, 34512, 34562, 34567, 89
Offset: 1
Examples
Terms a(1) to a(10) are obvious; a(11) is 56 because 56 is the smallest integer not yet in the sequence such that the elements of the sets {6,7,8,9,5} and {7,8,9,5,6} are five consecutive digits; a(12) is 78 because 78 is the smallest integer not yet in the sequence such that the elements of the sets {8,9,5,6,7} and {9,5,6,7,8} are five consecutive digits; a(13) is 45 because 45 is the smallest integer not yet in the sequence such that the elements of the sets {5,6,7,8,4} and {6,7,8,4,5} are five consecutive digits; etc.
Links
- Dominic McCarty, Table of n, a(n) for n = 1..10000 (first 257 terms from Jean-Marc Falcoz)
Crossrefs
Programs
-
Python
a, runLength = [i for i in range(10)], 5 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