%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