|
|
A327192
|
|
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 least possible value of max(x, y).
|
|
3
|
|
|
0, 1, 1, 1, 1, 1, 2, 3, 1, 1, 2, 3, 3, 3, 3, 3, 1, 1, 2, 3, 4, 5, 5, 5, 3, 3, 3, 3, 4, 5, 6, 7, 1, 1, 2, 3, 4, 5, 6, 7, 5, 5, 5, 5, 5, 5, 6, 7, 3, 3, 3, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 6
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,7
|
|
LINKS
|
|
|
FORMULA
|
a(n) = 1 iff n = 2^k or n = 2^k + 1 for some k >= 0.
|
|
EXAMPLE
|
For n=42:
- the binary representation of 42 is "101010",
- there are 7 ways to split it:
- "" and "101010": x=0 and y=42: max(0, 42) = 42,
- "1" and "01010": x=1 and y=10: max(1, 10) = 10,
- "10" and "1010": x=2 and y=10: max(2, 10) = 10,
- "101" and "010": x=5 and y=2: max(5, 2) = 5,
- "1010" and "10": x=10 and y=2: max(10, 2) = 10,
- "10101" and "0": x=21 and y=0: max(21, 0) = 21,
- "101010" and "": x=42 and y=0: max(42, 0) = 42,
- hence a(42) = 5.
|
|
PROG
|
(PARI) a(n) = my (v=oo, b=binary(n)); for (w=0, #b, v=min(v, max(fromdigits(b[1..w], 2), fromdigits(b[w+1..#b], 2)))); v
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|