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
Eric Angelini, Table of n, a(n) for n = 1..1011
EXAMPLE
The ten "k"s in the starting segment here are different [0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20, 21,] and respectively equal to 8,10,11,15,1,2,6,0,4,3.
Indeed, there are k=8 digits between [1] and the "1" of [10] which are 2,3,4,5,6,7,8,9; there are k=10 digits between [1] and the first "1" of [11] which are 2,3,4,5,6,7,8,9,1,0; there are k=11 digits between [1] and the second "1" of [11] which are 2,3,4,5,6,7,8,9,1,0,1; there are k=15 digits between [1] and the "1" of [21] which are 2,3,4,5,6,7,8,9,1,0,1,1,2,0,2.
There is k=1 digit between the "1" of [10] and the first "1" of [11] which is 0; there are k=2 digits between the "1" of [10] and the second "1" of [11] which are 0 and 1; there are k=6 digits between the "1" of [10] and the "1" of [21] which are 0,1,1,2,0,2.
There are k=0 digits between the first "1" of [11] and the second "1" of [11]; there are k=4 digits between the first "1" of [11] and the "1" of [21] which are 1,2,0,2.
There are k=3 digits between the second "1" of [11] and the "1" of [21] which are 2,0 and 2.
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 == '1' for j in locs1)
out |= set(i-j for j in range(len(s)-1) for i in range(j+1, len(s)) if '1' == 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 ('1' not in (s:=str(k)) or not newdiffs(s, alen, locs1, diffs1)&diffs1))
stran = str(an)
if '1' in stran:
diffs1 |= newdiffs(stran, alen, locs1, diffs1)
locs1.extend([alen+i for i, c in enumerate(stran, 1) if c == '1'])
alen += len(stran)
aset.add(an)
while mink in aset: mink += 1
print(list(islice(agen(), 100))) # Michael S. Branicky, Oct 01 2025
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Eric Angelini and Jean-Marc Falcoz, May 30 2016
STATUS
approved
