login
Replace 2^k in the binary representation of n with n+(k-L) where L = floor(log(n)/log(2)).
1

%I #27 Mar 13 2021 23:43:13

%S 0,1,2,5,4,8,11,18,8,15,18,28,23,35,39,54,16,30,33,50,38,57,61,83,47,

%T 70,74,100,81,109,114,145,32,61,64,96,69,103,107,144,78,116,120,161,

%U 127,170,175,221,95,141,145,194,152,203,208,262,165,220,225,283

%N Replace 2^k in the binary representation of n with n+(k-L) where L = floor(log(n)/log(2)).

%C That is, if n = 2^a + 2^b + 2^c + ... then a(n) = (n+(a-L)) + (n+(b-L)) + (n+(c-L)) + ...).

%F Let L = A000523(n), then a(n) = (n-L)*A000120(n) + A073642(n).

%e a(4) = (4+(2-2)) = 4 because int(log(4)/log(2)) = 2 and 4 = 2^2.

%e a(6) = (6+(2-2)) + (6+(1-2)) = 11 because int(log(6)/log(2)) = 2 and 6 = 2^2 + 2^1.

%p read("transforms") :

%p A198193 := proc(n)

%p (n-A000523(n))*wt(n)+A073642(n) ;

%p end proc:

%p seq(A198193(n),n=0..20) ; # _R. J. Mathar_, Nov 17 2011

%t Table[b = Reverse[IntegerDigits[n, 2]]; L = Length[b] - 1; Sum[b[[k]] (n + k - 1 - L), {k, Length[b]}], {n, 0, 59}] (* _T. D. Noe_, Nov 01 2011 *)

%o (MATLAB)

%o % n is number of terms to be computed, b is the base. The examples all use b=2:

%o function [V] = revAddition(n,b)

%o for i = 0:n

%o k = i;

%o if (i > 0)

%o l = floor(log(i)/log(b));

%o end

%o s = 0;

%o while(k ~= 0)

%o if ((i-l) >= 0)

%o s = s + mod(k,b)*(i-l);

%o end

%o l = l - 1;

%o k = (k - mod(k,b))/b;

%o end

%o V(i+1) = s;

%o end

%o end

%o (Python)

%o def A198193(n): return sum((n-i)*int(j) for i,j in enumerate(bin(n)[2:])) # _Chai Wah Wu_, Mar 13 2021

%Y Cf. A000120, A073642, A198192.

%K nonn,base

%O 0,3

%A _Brian Reed_, Oct 26 2011