%I #22 Aug 23 2016 12:42:10
%S 1,3,5,7,9,9,9,15,17,17,21,21,17,27,21,31,33,33,33,33,33,33,45,45,33,
%T 51,33,51,33,51,45,63,65,65,65,65,73,73,73,73,65,65,85,85,73,73,93,93,
%U 65,99,65,99,73,107,73,107,65,99,85,119,73,107,93,127,129,129,129,129,129,129,129,129,129,129,129,129,153
%N a(n) = largest base-2 palindrome m <= 2n+1 such that every base-2 digit of m is <= the corresponding digit of 2n+1; m is written in base 10.
%C A007088(a(n)) = A265510(n). - _Reinhard Zumkeller_, Dec 11 2015
%H Reinhard Zumkeller, <a href="/A265509/b265509.txt">Table of n, a(n) for n = 0..8191</a>
%p ispal := proc(n) # test for base-b palindrome
%p local L, Ln, i;
%p global b;
%p L := convert(n, base, b);
%p Ln := nops(L);
%p for i to floor(1/2*Ln) do
%p if L[i] <> L[Ln + 1 - i] then return false end if
%p end do;
%p return true
%p end proc
%p # find max pal <= n and in base-b shadow of n, write in base 10
%p under10:=proc(n) global b;
%p local t1,t2,i,m,sw1,L2;
%p if n mod b = 0 then return(0); fi;
%p t1:=convert(n,base,b);
%p for m from n by -1 to 0 do
%p if ispal(m) then
%p t2:=convert(m,base,b);
%p L2:=nops(t2);
%p sw1:=1;
%p for i from 1 to L2 do
%p if t2[i] > t1[i] then sw1:=-1; break; fi;
%p od:
%p if sw1=1 then return(m); fi;
%p fi;
%p od;
%p end proc;
%p b:=2; [seq(under10(2*n+1),n=0..144)]; # Gives A265509
%p # find max pal <= n and in base-b shadow of n, write in base b
%p underb:=proc(n) global b;
%p local t1,t2,i,m,mb,sw1,L2;
%p if n mod b = 0 then return(0); fi;
%p t1:=convert(n,base,b);
%p for m from n by -1 to 0 do
%p if ispal(m) then
%p t2:=convert(m,base,b);
%p L2:=nops(t2);
%p sw1:=1;
%p for i from 1 to L2 do
%p if t2[i] > t1[i] then sw1:=-1; break; fi;
%p od:
%p if sw1=1 then mb:=add(t2[i]*10^(i-1), i=1..L2); return(mb); fi;
%p fi;
%p od;
%p end proc;
%p b:=2; [seq(underb(2*n+1),n=0..144)]; # Gives A265510
%t A265509 = FromDigits[Min /@ Transpose[{#, Reverse@#}], 2] &@IntegerDigits[2 # + 1, 2] & (* _JungHwan Min_, Aug 22 2016 *)
%o (Haskell)
%o a265509 n = a265509_list !! n
%o a265509_list = f (tail a030308_tabf) [[]] where
%o f (bs:_:bss) pss = y : f bss pss' where
%o y = foldr (\d v -> 2 * v + d) 0 ys
%o (ys:_) = dropWhile (\ps -> not $ and $ zipWith (<=) ps bs) pss'
%o pss' = if bs /= reverse bs then pss else bs : pss
%o -- _Reinhard Zumkeller_, Dec 11 2015
%Y Sequences related to palindromic floor and ceiling: A175298, A206913, A206914, A261423, A262038, and the large block of consecutive sequences beginning at A265509.
%Y Cf. A007088, A030308.
%K nonn,base,look
%O 0,2
%A _N. J. A. Sloane_, Dec 09 2015
|