A302501 Lexicographically first sequence of distinct terms such that any set of six successive digits can be reordered as {d, d+1, d+2, d+3, d+4, d+5}, d being the smallest of the six digits.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 45, 67, 83, 456, 72, 34, 56, 12, 345, 61, 23, 450, 123, 4501, 234, 50, 1234, 501, 2345, 612, 3450, 12345, 672, 3456, 78, 94, 567, 89, 4567, 834, 5672, 34561, 23450, 123450, 123456, 723, 4561, 23456, 783, 45672, 34567, 894, 5678, 945, 678, 9456, 789, 45678, 94567, 8345, 6723, 45612, 34501, 234501, 234561, 234567, 8945, 6783, 456723, 456123, 45012, 345012
Offset: 1
Examples
Terms a(1) to a(10) are obvious; a(11) is 45 because 45 is the smallest integer not yet in the sequence such that the elements of the sets {5,6,7,8,9,4} and {6,7,8,9,4,5} are six 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,9,4,5,6} and {8,9,4,5,6,7} are six consecutive digits; a(13) is 83 because 83 is the smallest integer not yet in the sequence such that the elements of the sets {9,4,5,6,7,8} and {4,5,6,7,8,3} are six consecutive digits; etc.
Links
- Dominic McCarty, Table of n, a(n) for n = 1..10000
Crossrefs
Programs
-
Python
a, runLength = [i for i in range(10)], 6 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