login
A273884
Pick any pair of "6" digits in the sequence. Those two "6"s are separated by k digits. This is the lexicographically earliest sequence of distinct terms in which all the resulting values of k are distinct.
10
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 56, 60, 61, 70, 62, 71, 72, 73, 74, 75, 77, 78, 79
OFFSET
1,3
COMMENTS
The sequence starts with a(1)=0. It is then always extended with the smallest integer not yet present and not leading to a contradiction (which would mean producing a value of k already seen).
LINKS
PROG
(Python)
from itertools import count, islice
def newdiffs(s, alen, locs1, diffs1):
out = set(alen+i-j for i, c in enumerate(s, 1) if c == '6' for j in locs1)
out |= set(i-j for j in range(len(s)-1) for i in range(j+1, len(s)) if '6' == s[i] == s[j])
return out
def agen(): # generator of terms
an, locs1, diffs1, mink, aset, alen = 0, [], set(), 1, {0}, 1
while True:
yield an
an = next(k for k in count(mink) if k not in aset and ('6' not in (s:=str(k)) or not newdiffs(s, alen, locs1, diffs1)&diffs1))
stran = str(an)
if '6' in stran:
diffs1 |= newdiffs(stran, alen, locs1, diffs1)
locs1.extend([alen+i for i, c in enumerate(stran, 1) if c == '6'])
alen += len(stran)
aset.add(an)
while mink in aset: mink += 1
print(list(islice(agen(), 72))) # Michael S. Branicky, Oct 01 2025
CROSSREFS
Cf. A273376 (equivalent with digit "1").
Sequence in context: A085735 A269393 A269394 * A273058 A044922 A346447
KEYWORD
nonn,base
AUTHOR
STATUS
approved