|
|
A145799
|
|
a(n) = the largest integer that is an (odd) palindrome when represented in binary and that occurs in the binary representation of n.
|
|
4
|
|
|
1, 1, 3, 1, 5, 3, 7, 1, 9, 5, 5, 3, 5, 7, 15, 1, 17, 9, 9, 5, 21, 5, 7, 3, 9, 5, 27, 7, 7, 15, 31, 1, 33, 17, 17, 9, 9, 9, 9, 5, 9, 21, 21, 5, 45, 7, 15, 3, 17, 9, 51, 5, 21, 27, 27, 7, 9, 7, 27, 15, 15, 31, 63, 1, 65, 33, 33, 17, 17, 17, 17, 9, 73, 9, 9, 9, 9, 9, 15, 5, 17, 9, 9, 21, 85, 21, 21
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,3
|
|
COMMENTS
|
The binary expansion of a(n) is the largest (odd) palindrome that appears as a substring of the binary expansion of n. Nonzero binary palindromes are necessarily odd (see A006995).
For n = 2^k, a(n) = 1 is the largest binary palindrome in the binary representation of n.
|
|
LINKS
|
|
|
EXAMPLE
|
20 in binary is 10100. The largest binary palindrome included in this binary representation is 101, which is 5 in decimal. So a(20) = 5.
|
|
MATHEMATICA
|
Block[{nn = 87, s}, s = Reverse@ Select[IntegerDigits[#, 2] & /@ Range[2^Log2@ nn], PalindromeQ]; Table[With[{d = IntegerDigits[n, 2]}, FromDigits[#, 2] &@ SelectFirst[s, SequenceCount[d, #] > 0 &]], {n, nn}]] (* Michael De Vlieger, Sep 23 2017 *)
|
|
PROG
|
(Haskell)
a145799 = maximum . map (foldr (\b v -> 2 * v + b) 0) .
filter (\bs -> bs == reverse bs && head bs == 1) .
substr . bin where
substr [] = []
substr us'@(_:us) = sub us' ++ substr us where
sub [] = []; sub (v:vs) = [v] : [v : ws | ws <- sub vs ]
bin 0 = []; bin n = b : bin n' where (n', b) = divMod n 2
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|