OFFSET
0,3
COMMENTS
To generate the value for n, write out n's decimal expansion. Then, write out 1's decimal expansion (0000000000....001). Compute how many times you need to change 0 to a 1 or a 1 to a 0 in order to switch from one number to the other.
The value for 2^x is always 2. The value for 2^x +1 is always 1. The value for 2^x -1 is always x-1 when x > 0. To get to 2^x, you need to drop the 1 at the beginning and add the 1 in the 2^x place value.
For 2^x + 1, you need to add the 1 in the 2^n place value, but you keep the 1 in the 1s place value. Thus you are only adding or getting rid of 1 digit.
For 2^x -1, it will have x digits, and all of them will be 1's. You already have 1 in the 1's place value, so there are n-1 digits left over.
FORMULA
a(n) = A000120(n) + (-1)^n. - Michel Marcus, Jul 14 2016
MATHEMATICA
Table[If[OddQ@ n, # - 1, # + 1] &@ DigitCount[n, 2, 1], {n, 0, 120}] (* Michael De Vlieger, Jul 13 2016 *)
PROG
(PARI) a(n) = hammingweight(n) + (-1)^n; \\ Michel Marcus, Jul 14 2016
CROSSREFS
KEYWORD
nonn,base
AUTHOR
William K. Grannis, Jun 06 2016
EXTENSIONS
More terms from Michel Marcus, Jul 13 2016
STATUS
approved