login
A342937
Run lengths of A324608.
1
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,1
EXAMPLE
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.
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 *)
PROG
(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
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Peter Kagey, Mar 29 2021
STATUS
approved