A327188 For any n >= 0: consider the different ways to split the binary representation of n into two (possibly empty) parts, say with value x and y; a(n) is the greatest possible value of x AND y (where AND denotes the bitwise AND operator).
0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 2, 2, 0, 1, 2, 3, 0, 1, 2, 2, 0, 1, 2, 2, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 2, 4, 4, 4, 4, 0, 1, 2, 2, 4, 5, 4, 5, 0, 1, 2, 3, 4, 4, 6, 6, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 2, 4, 4, 4, 4, 0, 1, 2, 2, 4, 4, 4, 4, 0, 1, 2, 2, 4, 5, 4
Offset: 0
Examples
For n=42: - the binary representation of 42 is "101010", - there are 7 ways to split it: - "" and "101010": x=0 and y=42: 0 AND 42 = 0, - "1" and "01010": x=1 and y=10: 1 AND 10 = 0, - "10" and "1010": x=2 and y=10: 2 AND 10 = 2, - "101" and "010": x=5 and y=2: 5 AND 2 = 0, - "1010" and "10": x=10 and y=2: 10 AND 2 = 2, - "10101" and "0": x=21 and y=0: 21 AND 0 = 0, - "101010" and "": x=42 and y=0: 42 AND 0 = 0, - hence a(42) = 2.
Links
- Rémy Sigrist, Table of n, a(n) for n = 0..8192
Programs
-
PARI
a(n) = my (v=-oo, b=binary(n)); for (w=0, #b, v=max(v, bitand(fromdigits(b[1..w],2), fromdigits(b[w+1..#b],2)))); v
Comments