%I #30 Aug 12 2022 19:14:01
%S 2,1,8,1,3,2,3,3,3,4,3,5,3,6,3,7,2,1,10,1,11,1,9,1,2,1,9,2,2,1,8,1,5,
%T 1,8,1,3,1,2,1,8,1,3,1,3,1,8,1,3,1,1,1,2,1,8,1,3,1,1,2,2,1,8,1,3,2,5,
%U 1,8,1,3,2,3,1,2,1,8,1,3,2,3,2,2,1,8,1
%N Run lengths of the bits in A308092, read in binary.
%H Peter Kagey, <a href="https://math.stackexchange.com/q/4081203/121988">Run lengths of bits and run lengths of an auxiliary sequence</a>, Mathematics Stack Exchange.
%e In binary, A308092 is 1, 10, 11, 111, 1110, 11100, 111000, 1110000, .... The sequence begins with a(1) = 2 ones followed by a(2) = 1 zeros, a(3) = 8 ones, a(4) = 1 zeros, a(5) = 3 ones, a(6) = 2 zeros, and so on.
%e This sequence first disagrees with A342937 at n = 51, where a(51) = 1 and
%e A342937(51) = 2.
%o (Python)
%o from itertools import groupby
%o def aupton(terms):
%o A308092, bstr, rl_lst, rl_idx, n = [1, 2], "110", [2], 2, 3
%o while len(rl_lst) < terms:
%o an = int(bstr[:n], 2) - int(bstr[:n-1], 2)
%o A308092, bstr, n = A308092 + [an], bstr + bin(an)[2:], n+1
%o new_runs = [len(list(g)) for k, g in groupby(bstr[rl_idx:])]
%o if len(new_runs) > 1:
%o rl_idx += sum(new_runs[:-1])
%o rl_lst.extend(new_runs[:-1]) # don't take last one in case mid-run
%o return rl_lst[:terms]
%o print(aupton(86)) # _Michael S. Branicky_, Apr 03 2021
%Y Cf. A308092, A342937.
%K nonn,base
%O 1,1
%A _Peter Kagey_, Mar 31 2021