OFFSET
0,2
COMMENTS
LINKS
Reinhard Zumkeller, Table of n, a(n) for n = 0..8191
MAPLE
ispal := proc(n) # test for base-b palindrome
local L, Ln, i;
global b;
L := convert(n, base, b);
Ln := nops(L);
for i to floor(1/2*Ln) do
if L[i] <> L[Ln + 1 - i] then return false end if
end do;
return true
end proc
# find max pal <= n and in base-b shadow of n, write in base 10
under10:=proc(n) global b;
local t1, t2, i, m, sw1, L2;
if n mod b = 0 then return(0); fi;
t1:=convert(n, base, b);
for m from n by -1 to 0 do
if ispal(m) then
t2:=convert(m, base, b);
L2:=nops(t2);
sw1:=1;
for i from 1 to L2 do
if t2[i] > t1[i] then sw1:=-1; break; fi;
od:
if sw1=1 then return(m); fi;
fi;
od;
end proc;
b:=2; [seq(under10(2*n+1), n=0..144)]; # Gives A265509
# find max pal <= n and in base-b shadow of n, write in base b
underb:=proc(n) global b;
local t1, t2, i, m, mb, sw1, L2;
if n mod b = 0 then return(0); fi;
t1:=convert(n, base, b);
for m from n by -1 to 0 do
if ispal(m) then
t2:=convert(m, base, b);
L2:=nops(t2);
sw1:=1;
for i from 1 to L2 do
if t2[i] > t1[i] then sw1:=-1; break; fi;
od:
if sw1=1 then mb:=add(t2[i]*10^(i-1), i=1..L2); return(mb); fi;
fi;
od;
end proc;
b:=2; [seq(underb(2*n+1), n=0..144)]; # Gives A265510
MATHEMATICA
A265509 = FromDigits[Min /@ Transpose[{#, Reverse@#}], 2] &@IntegerDigits[2 # + 1, 2] & (* JungHwan Min, Aug 22 2016 *)
PROG
(Haskell)
a265509 n = a265509_list !! n
a265509_list = f (tail a030308_tabf) [[]] where
f (bs:_:bss) pss = y : f bss pss' where
y = foldr (\d v -> 2 * v + d) 0 ys
(ys:_) = dropWhile (\ps -> not $ and $ zipWith (<=) ps bs) pss'
pss' = if bs /= reverse bs then pss else bs : pss
-- Reinhard Zumkeller, Dec 11 2015
CROSSREFS
KEYWORD
AUTHOR
N. J. A. Sloane, Dec 09 2015
STATUS
approved