%I #20 Oct 25 2024 09:20:28
%S 1,3,3,4,3,9,4,7,3,9,9,12,4,12,7,11,3,9,9,12,9,27,12,21,4,12,12,16,7,
%T 21,11,18,3,9,9,12,9,27,12,21,9,27,27,36,12,36,21,33,4,12,12,16,12,36,
%U 16,28,7,21,21,28,11,33,18,29,3,9,9,12,9,27,12,21,9,27,27,36,12,36,21,33,9,27,27,36,27
%N a(n) = Product_{i in row n of A245562} Lucas(i+1), where Lucas = A000204.
%C This is the Run Length Transform of S(n) = Lucas(n+1) = 1,3,4,7,11,... (cf. A000204).
%C The Run Length Transform of a sequence {S(n), n>=0} is defined to be the sequence {T(n), n>=0} given by T(n) = Product_i S(i), where i runs through the lengths of runs of 1's in the binary expansion of n. E.g. 19 is 10011 in binary, which has two runs of 1's, of lengths 1 and 2. So T(19) = S(1)*S(2). T(0)=1 (the empty product).
%H Alois P. Heinz, <a href="/A246011/b246011.txt">Table of n, a(n) for n = 0..8191</a>
%e From _Omar E. Pol_, Feb 15 2015: (Start)
%e Written as an irregular triangle in which row lengths are the terms of A011782:
%e 1;
%e 3;
%e 3,4;
%e 3,9,4,7;
%e 3,9,9,12,4,12,7,11;
%e 3,9,9,12,9,27,12,21,4,12,12,16,7,21,11,18;
%e 3,9,9,12,9,27,12,21,9,27,27,36,12,36,21,33,4,12,12,16,12,36,16,28,7,21,21,28,11,33,18,29;
%e ...
%e Right border gives the Lucas numbers (beginning with 1). This is simply a restatement of the theorem that this sequence is the Run Length Transform of A000204.
%e (End)
%p A000204 := proc(n) option remember; if n <=2 then 2*n-1; else A000204(n-1)+A000204(n-2); fi; end;
%p ans:=[];
%p for n from 0 to 100 do lis:=[]; t1:=convert(n,base,2); L1:=nops(t1);
%p out1:=1; c:=0;
%p for i from 1 to L1 do
%p if out1 = 1 and t1[i] = 1 then out1:=0; c:=c+1;
%p elif out1 = 0 and t1[i] = 1 then c:=c+1;
%p elif out1 = 1 and t1[i] = 0 then c:=c;
%p elif out1 = 0 and t1[i] = 0 then lis:=[c,op(lis)]; out1:=1; c:=0;
%p fi;
%p if i = L1 and c>0 then lis:=[c,op(lis)]; fi;
%p od:
%p a:=mul(A000204(i+1), i in lis);
%p ans:=[op(ans),a];
%p od:
%p ans;
%o (Python)
%o from math import prod
%o from re import split
%o from sympy import lucas
%o def run_length_transform(f): return lambda n: prod(f(len(d)) for d in split('0+', bin(n)[2:]) if d != '') if n > 0 else 1
%o def A246011(n): return run_length_transform(lambda n:lucas(n+1))(n) # _Chai Wah Wu_, Oct 24 2024
%Y Cf. A245562-A245565, A000204, A001045, A071053.
%K nonn,base,changed
%O 0,2
%A _N. J. A. Sloane_, Aug 10 2014; revised Sep 05 2014