A356148 a(n) is the number of positive integers whose binary expansion appears as a substring in the binary expansion of n or its complement.
1, 2, 2, 4, 3, 4, 3, 6, 6, 4, 6, 6, 6, 6, 4, 8, 9, 9, 8, 8, 5, 9, 9, 9, 8, 8, 9, 9, 9, 8, 5, 10, 12, 13, 12, 12, 12, 10, 12, 12, 12, 6, 10, 12, 12, 13, 12, 12, 12, 12, 10, 12, 10, 12, 13, 12, 12, 12, 13, 12, 12, 10, 6, 12, 15, 17, 16, 17, 17, 16, 15, 17, 15
Offset: 1
Examples
For n = 43: - the binary expansion of 43 is "101011", - it contains the positive numbers with binary expansions "1", "10", "11", "101", "1010", "1011", "10101", "101011", - the complement of "101011" is "010100", - it contains the positive numbers with binary expansions "1", "10", "100", "101", "1010", "10100", - all in all, we have the following substrings: "1", "10", "11", "100", "101", "1010", "1011", "10100", "10101", "101011", - so a(43) = 10.
Links
Programs
-
PARI
a(n) = { my (b=binary(n)); #setbinop((i,j) -> my (s=fromdigits(b[i..j], 2)); if (b[i], s, 2^(j-i+1)-1-s), [1..#b]) }
-
Python
def a(n): N = n.bit_length() c, s = ((1<
> i) s.add((mask&c) >> i) return len(s - {0}) print([a(n) for n in range(1, 74)]) # Michael S. Branicky, Jul 28 2022
Comments