Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).
%I #19 Jun 24 2023 13:28:08
%S 1,2,3,4,5,6,7,8,19,12,13,14,15,16,17,18,20,10,11,21,22,23,24,25,26,
%T 27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,
%U 50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70
%N Lexicographically earliest infinite sequence of distinct terms > 0 such that one digit of a(n) is strictly smaller than one digit of a(n+1).
%H Michael S. Branicky, <a href="/A363490/b363490.txt">Table of n, a(n) for n = 1..10000</a>
%e Digit 1 is < 2; 2 is < 3; etc. Then comes 8: if we write 9 after 8, the sequence stops (as there is no digit > 9). This forces a(9) = 19 (instead of 9) as the smallest available integer not leading to a contradiction. Integers consisting only of 9s (9, 99, 999, etc.) will thus never be part of the sequence.
%o (Python)
%o from itertools import islice
%o def agen(): # generator of terms
%o an, aset, mink = 1, {1}, 2
%o while True:
%o yield an
%o k, m = mink, min(str(an))
%o while k in aset or (s:=set(str(k))) == {"9"} or max(s) <= m:
%o k += 1
%o an = k
%o aset.add(an)
%o while mink in aset or set(str(mink)) == {"9"}:
%o aset.discard(mink); mink += 1
%o print(list(islice(agen(), 70))) # _Michael S. Branicky_, Jun 05 2023
%Y Cf. A294069.
%K base,nonn
%O 1,2
%A _Eric Angelini_, Jun 05 2023