OFFSET
1,4
COMMENTS
From Rémy Sigrist, Dec 23 2018: (Start)
This sequence is related to the combinatorial number system:
- if n = Sum_{k=1..h} 2^c_k with 0 <= c_1 < c_2 < ... < c_h,
- then a(n) = Sum_{k=1..h} binomial(c_k, k) (with binomial(n, r) = 0 if n < r).
(End)
LINKS
Charles R Greathouse IV, Table of n, a(n) for n = 1..10000
Wikipedia, Combinatorial number system
FORMULA
a(n) = A263017(n) - 1. - Antti Karttunen, May 22 2017
EXAMPLE
The binary expansion of 22 (10110) has 3 1's, as do those of the 6 smaller numbers 7, 11, 13, 14, 19 and 21, so a(22)=6.
MATHEMATICA
w[n_] := Plus@@IntegerDigits[n, 2]; a[n_] := Plus@@MapThread[Binomial, {Flatten[Position[Reverse[IntegerDigits[n, 2]], 1]]-1, Range[w[n]]}]
PROG
(PARI) a(n)=my(k=hammingweight(n)); sum(i=1, n-1, hammingweight(i)==k) \\ Charles R Greathouse IV, Sep 24 2012
(PARI) a(n) = my (v=0, k=0); for (c=0, oo, if (n==0, return (v), n%2, k++; if (c>=k, v+=c!/k!/(c-k)!)); n\=2) \\ Rémy Sigrist, Dec 23 2018
(Python)
def a(n):
x=bin(n)[2:].count("1")
return sum(1 for i in range(n) if bin(i)[2:].count("1")==x) # Indranil Ghosh, May 24 2017
(Python)
from math import comb
def A068076(n):
c, k = 0, 1
for i, j in enumerate(bin(n)[-1:1:-1]):
if j == '1':
c += comb(i, k)
k += 1
return c # Chai Wah Wu, Mar 01 2023
CROSSREFS
KEYWORD
nonn,look
AUTHOR
Dean Hickerson, Feb 16 2002
EXTENSIONS
Edited by John W. Layman, Feb 20 2002
STATUS
approved