cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A302504 Lexicographically first sequence of distinct terms such that any set of nine successive digits can be reordered as {d, d+1, d+2, d+3, d+4, d+5, d+6, d+7, d+8}, d being the smallest of the nine digits.

This page as a plain text file.
%I A302504 #18 Feb 03 2025 21:14:05
%S A302504 0,1,2,3,4,5,6,7,8,9,12,34,56,78,91,23,45,67,80,123,456,780,1234,567,
%T A302504 89,12345,678,912,345,6780,123456,789,1234567,801,234,5678,9123,4567,
%U A302504 891,2345,6789,12345678,91234,56780,123456780,123456789
%N A302504 Lexicographically first sequence of distinct terms such that any set of nine successive digits can be reordered as {d, d+1, d+2, d+3, d+4, d+5, d+6, d+7, d+8}, d being the smallest of the nine digits.
%C A302504 As the digit 0 has no predecessor and the digit 9 has no successor here, sets of successive digits like {7,6,5,4,3,2,1,0,9} and {2,3,4,5,6,7,8,9,0} are forbidden.
%H A302504 Dominic McCarty, <a href="/A302504/b302504.txt">Table of n, a(n) for n = 1..10000</a>
%e A302504 Terms a(1) to a(10) are obvious;
%e A302504 a(11) is 12 because 12 is the smallest integer not yet in the sequence such that the elements of the sets {2,3,4,5,6,7,8,9,1} and {3,4,5,6,7,8,9,1,2} are nine consecutive digits;
%e A302504 a(12) is 34 because 34 is the smallest integer not yet in the sequence such that the elements of the sets {4,5,6,7,8,9,1,2,3} and {5,6,7,8,9,1,2,3,4} are nine consecutive digits;
%e A302504 a(13) is 56 because 56 is the smallest integer not yet in the sequence such that the elements of the sets {6,7,8,9,1,2,3,4,5} and {7,8,9,1,2,3,4,5,6} are nine consecutive digits;
%e A302504 etc.
%o A302504 (Python)
%o A302504 a, runLength = [i for i in range(10)], 9
%o A302504 def helper(s,k,l,a):
%o A302504     if k not in a: return k
%o A302504     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)])
%o A302504 while len(a)<100: a.append(helper(("".join(map(str,a)))[(1-runLength):],0,runLength,a))
%o A302504 print(a) # _Dominic McCarty_, Feb 02 2025
%Y A302504 Cf. A228326 for the same idea with sets of two digits, A302173 (sets of three digits), A302499 (sets of four digits), A302500 (sets of five digits), A302501 (sets of six digits), A302502 (sets of seven digits) and A302503 (sets of eight digits).
%K A302504 nonn,base,look
%O A302504 1,3
%A A302504 _Eric Angelini_ and _Jean-Marc Falcoz_, Apr 09 2018