login

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”).

A367811
Lexicographically earliest sequence of distinct positive terms such that the Levenshtein distance (Ld) between a(n) and a(n+1) is equal to the first digit of a(n+1).
0
1, 10, 2, 12, 11, 13, 14, 15, 16, 17, 18, 19, 20, 120, 3, 21, 121, 22, 122, 23, 123, 24, 124, 25, 125, 26, 126, 27, 127, 28, 128, 29, 129, 30, 130, 100, 31, 131, 101, 32, 132, 102, 33, 133, 103, 34, 134, 104, 35, 135, 105, 36, 136, 106, 37, 137, 107, 38, 138, 108, 39, 139, 109, 119, 110, 111, 112, 113
OFFSET
1,2
LINKS
Éric Angelini, More Levenshtein distances, Personal blog, December 2023.
EXAMPLE
a(1) = 1 and a(2) = 10 are separated by an Ld of 1, and 1 is the 1st digit of a(2)
a(2) = 10 and a(3) = 2 are separated by an Ld of 2, and 2 is the 1st digit of a(3)
a(3) = 2 and a(4) = 12 are separated by an Ld of 1, and 1 is the 1st digit of a(4)
a(4) = 12 and a(5) = 11 are separated by an Ld of 1, and 1 is the 1st digit of a(5)
a(5) = 11 and a(6) = 13 are separated by an Ld of 1, and 1 is the 1st digit of a(6) etc.
MATHEMATICA
a[1]=1; a[n_]:=a[n]=(k=1; While[MemberQ[Array[a, n-1], k]||EditDistance[ToString@a[n-1], ToString@k]!=First@IntegerDigits@k, k++]; k); Array[a, 68]
PROG
(Python)
from itertools import islice
from Levenshtein import distance as Ld
def agen(): # generator of terms
an, aset, mink = 1, {1}, 2
while True:
yield an
s, k = str(an), mink
while k in aset or Ld(s, sk:=str(k)) != int(sk[0]): k += 1
an = k
aset.add(k)
while mink in aset: mink += 1
print(list(islice(agen(), 68))) # Michael S. Branicky, Dec 01 2023
CROSSREFS
Cf. A367810.
Sequence in context: A084455 A069532 A084461 * A364188 A326107 A005483
KEYWORD
base,nonn
AUTHOR
STATUS
approved