A198192 Replace 2^k in the binary representation of n with n-k (i.e. if n = 2^a + 2^b + 2^c + ... then a(n) = (n-a) + (n-b) + (n-c) + ...).
0, 1, 1, 5, 2, 8, 9, 18, 5, 15, 16, 29, 19, 34, 36, 54, 12, 30, 31, 52, 34, 57, 59, 85, 41, 68, 70, 100, 75, 107, 110, 145, 27, 61, 62, 99, 65, 104, 106, 148, 72, 115, 117, 163, 122, 170, 173, 224, 87, 138, 140, 194, 145, 201, 204, 263, 156, 216, 219, 282, 226
Offset: 0
Examples
a(5) = (5-2) + (5-0) = 8 because 5 = 2^2 + 2^0. a(7) = (7-2) + (7-1) + (7-0) = 18 because 7 = 2^2 + 2^1 + 2^0.
Links
- Alois P. Heinz, Table of n, a(n) for n = 0..10000
Programs
-
MATLAB
% n is number of terms to be computed: function [B] = predAddition(n) for i = 0:n k = i; c = 0; s = 0; while(k ~= 0) if ((i - c) >= 0) s = s + mod(k,2)*(i-c); end c = c + 1; k = (k - mod(k,2))/2; end B(i+1) = s; end end
-
Maple
b:= (n, k)-> `if`(n=0, 0, k*(n mod 2)+b(floor(n/2), k-1)): a:= n-> b(n, n): seq(a(n), n=0..100); # Alois P. Heinz, Oct 25 2011
Formula
a(n) = b(n,n) with b(0,k) = 0, b(n,k) = k*(n mod 2) + b(floor(n/2),k-1) for n>0. - Alois P. Heinz, Oct 25 2011