|
|
A365017
|
|
a(n) is the least nonnegative integer not already in the sequence whose binary expansion is not the concatenation of any two earlier terms.
|
|
2
|
|
|
0, 1, 3, 4, 5, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 27, 38, 39, 46, 47, 60, 61, 64, 65, 66, 68, 69, 70, 72, 73, 74, 80, 81, 82, 84, 85, 86, 88, 89, 90, 96, 97, 98, 100, 101, 104, 105, 106, 108, 109, 115, 119, 126, 127, 134, 135, 142, 143, 151, 156, 157, 158, 166, 167, 174
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,3
|
|
COMMENTS
|
a(1)=0 is taken to be a single 0 bit when concatenating.
|
|
LINKS
|
|
|
EXAMPLE
|
The number 2 is excluded because its binary expansion is "10", which is the concatenation of a(1)="1" and a(0)="0".
The number 19 is excluded because its binary expansion is "10011", which is the concatenation of a(4)="100" and a(3)="11".
|
|
MATHEMATICA
|
conc[x_, y_] := FromDigits[Flatten@IntegerDigits[{x, y}, 2], 2]; a[1] = 0; a[n_] := a[n] = Module[{k = a[n - 1] + 1, v = Array[a, n - 1], c}, c = conc @@@ Select[Tuples[v, {2}], UnsameQ @@ # &]; While[! FreeQ[c, k], k++]; k]; Array[a, 60] (* Amiram Eldar, Sep 29 2023 *)
|
|
PROG
|
(Python)
from itertools import islice
def agen(): # generator of terms
an, bins, concats = 0, {"0"}, set()
while True:
yield an
while (bn:=bin(an:=an+1)[2:]) in concats: pass
concats |= {bn+bi for bi in bins} | {bi+bn for bi in bins}
bins.add(bn)
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|