A342937 Run lengths of A324608.
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, 1, 8, 1, 3, 1, 2, 1, 8, 1, 3, 1, 3, 1, 8, 1, 3, 1, 2, 2, 1, 8, 1, 3, 1, 3, 2, 1, 8, 1, 3, 2, 5, 1, 8, 1, 3, 2, 3, 1, 2, 1, 8, 1, 3, 2, 3, 2, 2, 1, 8, 1, 3, 2
Offset: 1
Examples
A324608 begins 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 10, 11, 11, 11, 13, ..., with a(1) = 2 ones, a(2) = 1 two, a(3) = 8 threes, a(4) = 1 ten, a(5) = 3 elevens, and so on. This sequence first disagrees with A341406 at n = 51, where a(51) = 2 and A341406(51) = 1.
Links
- Peter Kagey, Run lengths of bits and run lengths of an auxiliary sequence, Mathematics Stack Exchange.
Programs
-
Mathematica
a[1]=1;a[2]=2;a[n_]:=a[n]=FromDigits[Flatten[IntegerDigits[#,2]&/@Table[a[k],{k,n-1}]][[;;n]],2]-Total@Table[a[m],{m,n-1}] Length/@Split@Table[Count[IntegerDigits[a[l],2],1],{l,300}] (* Giorgos Kalogeropoulos, Mar 30 2021 *)
-
Python
from itertools import groupby def aupton(terms): A324608, bstr, rl_lst, rl_idx, n = [1, 1], "110", [], 0, 3 while len(rl_lst) < terms: an = int(bstr[:n], 2) - int(bstr[:n-1], 2) binan = bin(an)[2:] A324608, bstr, n = A324608 + [binan.count('1')], bstr + binan, n+1 new_runs = [len(list(g)) for k, g in groupby(A324608[rl_idx:])] if len(new_runs) > 0: rl_lst.extend(new_runs[:-1]) # don't take last one in case mid-run rl_idx += sum(new_runs[:-1]) return rl_lst[:terms] print(aupton(86)) # Michael S. Branicky, Mar 30 2021