

A249146


a(0) = 0, after which a(n) gives the total number of runs of the same length as the maximal run in the binary representation of a(n1) [i.e., A043276(a(n1))] among the binary expansions of all previous terms, including the runs in a(n1) itself.


4



0, 1, 2, 4, 1, 6, 2, 9, 3, 4, 5, 15, 1, 16, 2, 19, 7, 1, 21, 26, 8, 2, 32, 1, 34, 3, 9, 10, 43, 11, 12, 14, 4, 15, 3, 16, 4, 17, 5, 58, 6, 18, 19, 21, 71, 8, 9, 22, 23, 10, 84, 24, 11, 26, 27, 29, 12, 31, 2, 99, 13, 34, 14, 15, 5, 108, 37, 38, 40, 16, 6, 41, 42, 130, 3, 43, 44, 46, 17, 18, 47, 7, 19, 49
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

0,3


LINKS

Antti Karttunen, Table of n, a(n) for n = 0..10000


EXAMPLE

a(0) = 0 (by definition), and 0 is also '0' in binary we consider it to contain a single run of length one.
For n = 1, we see that in a(0) there is one run of length 1, which is total number of runs of length 1 so far in terms a(0) .. a(n1), thus a(1) = 1.
For n = 2, we see that the only and thus also the longest run of a(1) = 1 ('1' also in binary) has occurred two times in total (once in a(0) and a(1)), thus a(2) = 2.
For n = 3, we see that there are two runs in a(2) = 2 ('10' in binary), both one bit long, and so far there has occurred four such runs in total (namely once in a(0) and a(1), twice in a(2)), thus a(3) = 4.
For n = 4, we see that the longest run of a(3) = 4 ('100' in binary) is two bits long, and it is so far the first and only twobit run in the sequence, thus a(4) = 1.
For n = 5, we see that the longest run of a(4) = 1 ('1' in binary) is one bit long, and so far there has occurred 6 such onebit runs in terms a(0) .. a(4), thus a(5) = 6.
For n = 6, we see that the longest run of a(5) = 6 ('110' in binary) is two bits long, and so far there has occurred 2 such two bit runs (once in terms a(3) and a(5)), thus a(6) = 2.


PROG

(MIT/GNU Scheme with memoizing definecmacro from Antti Karttunen's IntSeqlibrary)
(definec (A249146 n) (if (< n 2) n (vectorref (A249146aux_runlen_counts ( n 1)) (1+ (A043276 (A249146 ( n 1)))))))
;; For binexp>runcount1list see for example A129594.
(definec (A249146aux_runlen_counts n) (cond ((zero? n) (vector 1)) (else (let* ((a_n (A249146 n)) (copyofprevec (vectorcopy (A249146aux_runlen_counts ( n 1)))) (newsize (max (vectorlength copyofprevec) (A043276 a_n))) (lencountsforn (vectorgrow copyofprevec newsize))) (let loop ((runlens (binexp>runcount1list a_n))) (cond ((null? runlens) lencountsforn) (else (vectorset! lencountsforn ( (car runlens) 1) (+ 1 (or (vectorref lencountsforn ( (car runlens) 1)) 0))) (loop (cdr runlens)))))))))


CROSSREFS

Cf. A043276, A249145, A249144, A248034.
Sequence in context: A007734 A171233 A096907 * A225679 A081879 A066248
Adjacent sequences: A249143 A249144 A249145 * A249147 A249148 A249149


KEYWORD

nonn


AUTHOR

Antti Karttunen, Oct 22 2014


STATUS

approved



