OFFSET
1,2
COMMENTS
The minimal representation is unique. The number of powers of 2 can be either even or odd. Compare with A065621, in which the number of powers of 2 is odd. The Mathematica program computes the representation for numbers 1 to 2^m. a(0) = 0.
No term has odd part congruent to 3 modulo 4. - Charlie Neder, Oct 28 2018
REFERENCES
D. E. Knuth, The Art of Computer Programming. Addison-Wesley, Reading, MA, 1981, Vol. 2 (Second Edition), p. 196, (exercise 4.1. Nr. 27)
LINKS
Clark Kimberling, Table of n, a(n) for n = 1..1000
FORMULA
a(2n) = 2 * a(n). [Corrected by Sean A. Irvine, Nov 17 2024]
Express n as a sum of terms 2^x - 2^y, x > y, such that each term defines a run of 1's in n's binary expansion. Then a(n) is the sum of all 2^x + 2^y, with the exception that a term 2^(x+1) - 2^x at the end of a representation becomes 2^x. - Charlie Neder, Oct 28 2018
EXAMPLE
a(11) = 29 because 29 = 16 + 8 + 4 + 1 and 16 - 8 + 4 - 1 = 11.
a(100) = 164 because 100 in binary is 1100100. The two runs of ones correspond to 2^7 - 2^5 and 2^3 - 2^2, but since 2^3 - 2^2 is the last term of the representation, it can be replaced with 2^2. Therefore, a(100) = 2^7 + 2^5 + 2^2. - Charlie Neder, Oct 28 2018
MATHEMATICA
Needs["DiscreteMath`Combinatorica`"]; sumit[s_List] := Module[{i, ss=0}, Do[If[OddQ[i], ss+=s[[ -i]], ss-=s[[ -i]]], {i, Length[s]}]; ss]; m=7; powers=Table[2^i, {i, 0, m}]; lst=Table[2m, {2^m}]; lst2=Table[0, {2^m}]; Do[t=NthSubset[i, powers]; len=Length[t]; st=sumit[t]; If[len<lst[[st]], lst[[st]]=len; lst2[[st]]=Plus@@t], {i, 2^(m+1)-1}]; lst2
CROSSREFS
KEYWORD
easy,nice,nonn
AUTHOR
T. D. Noe, Jul 17 2002
STATUS
approved