login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

a(n) = smallest base-2 palindrome m >= n such that every base-2 digit of n is <= the corresponding digit of m; m is written in base 2.
2

%I #13 Oct 15 2017 19:27:54

%S 0,1,11,11,101,101,111,111,1001,1001,1111,1111,1111,1111,1111,1111,

%T 10001,10001,11011,11011,10101,10101,11111,11111,11011,11011,11011,

%U 11011,11111,11111,11111,11111,100001,100001,110011,110011,101101,101101,111111,111111,101101,101101,111111,111111,101101,101101,111111

%N a(n) = smallest base-2 palindrome m >= n such that every base-2 digit of n is <= the corresponding digit of m; m is written in base 2.

%p ispal:= proc(n) global b; # test if n is base-b palindrome

%p local L, Ln, i;

%p L:= convert(n, base, b);

%p Ln:= nops(L);

%p for i from 1 to floor(Ln/2) do

%p if L[i] <> L[Ln+1-i] then return(false); fi;

%p od:

%p return(true);

%p end proc;

%p # find min pal >= n and with n in base-b shadow, write in base 10

%p over10:=proc(n) global b;

%p local t1,t2,i,m,sw1,L1;

%p t1:=convert(n,base,b);

%p L1:=nops(t1);

%p for m from n to 10*n do

%p if ispal(m) then

%p t2:=convert(m,base,b);

%p sw1:=1;

%p for i from 1 to L1 do

%p if t1[i] > t2[i] then sw1:=-1; break; fi;

%p od:

%p if sw1=1 then return(m); fi;

%p fi;

%p od;

%p lprint("no solution in over10 for n = ", n);

%p end proc;

%p # find min pal >= n and with n in base-b shadow, write in base 10

%p overb:=proc(n) global b;

%p local t1,t2,i,m,mb,sw1,L1;

%p t1:=convert(n,base,b);

%p L1:=nops(t1);

%p for m from n to 10*n do

%p if ispal(m) then

%p t2:=convert(m,base,b);

%p sw1:=1;

%p for i from 1 to L1 do

%p if t1[i] > t2[i] then sw1:=-1; break; fi;

%p od:

%p if sw1=1 then mb:=add(t2[i]*10^(i-1), i=1..nops(t2)); return(mb); fi;

%p fi;

%p od;

%p lprint("no solution in over10 for n = ", n);

%p end proc;

%p b:=2;

%p [seq(over10(n),n=0..144)]; # A175298

%p [seq(overb(n),n=0..144)]; # A265543

%t sb2p[n_]:=Module[{m=n},While[!PalindromeQ[IntegerDigits[m,2]]|| Min[ IntegerDigits[ m,2]-IntegerDigits[n,2]]<0,m++];FromDigits[ IntegerDigits[ m,2]]]; Array[sb2p,50,0] (* Requires Mathematica version 10 or later *) (* _Harvey P. Dale_, Oct 15 2017 *)

%Y Sequences related to palindromic floor and ceiling: A175298, A206913, A206914, A261423, A262038, and the large block of consecutive sequences beginning at A265509.

%Y See A206913 for the values of m written in base 10.

%K nonn,base

%O 0,3

%A _N. J. A. Sloane_, Dec 09 2015