A245541 Write n>=1 as either n=2^k-2^r with 0 <= r <= k-1, in which case a(2^k-2^r)=(k-r)*(k-r+1)/2, or as n=2^k-2^r+j with 2 <= r <= k-1, 1 <= j < 2^r-1, in which case a(2^k-2^r+j)=((k-r)*(k-r+1)/2)*a(j).
1, 1, 3, 1, 1, 3, 6, 1, 1, 1, 3, 3, 3, 6, 10, 1, 1, 1, 3, 1, 1, 3, 6, 3, 3, 3, 9, 6, 6, 10, 15, 1, 1, 1, 3, 1, 1, 3, 6, 1, 1, 1, 3, 3, 3, 6, 10, 3, 3, 3, 9, 3, 3, 9, 18, 6, 6, 6, 18, 10, 10, 15, 21, 1, 1, 1, 3, 1, 1, 3, 6, 1, 1, 1, 3, 3, 3, 6, 10, 1, 1, 1, 3, 1, 1, 3, 6, 3, 3, 3, 9, 6, 6, 10, 15
Offset: 1
Examples
Arranged into blocks: 1, 1, 3, 1, 1, 3, 6, 1, 1, 1, 3, 3, 3, 6, 10, 1, 1, 1, 3, 1, 1, 3, 6, 3, 3, 3, 9, 6, 6, 10, 15, 1, 1, 1, 3, 1, 1, 3, 6, 1, 1, 1, 3, 3, 3, 6, 10, 3, 3, 3, 9, 3, 3, 9, 18, 6, 6, 6, 18, 10, 10, 15, 21, ...
Programs
-
Maple
G:=[seq(n,n=0..30)]; m:=1; f:=proc(n) option remember; global m,G; local k,r,j,np; k:=1+floor(log[2](n)); np:=2^k-n; if np=1 then r:=0; j:=0; else r:=1+floor(log[2](np-1)); j:=2^r-np; fi; if j=0 then G[k-r]; else m*G[k-r]*f(j); fi; end; [seq(f(n),n=1..120)];
Comments