login

Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.

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