login
Array, read by antidiagonals, of n-th strobogrammatic number in base k.
1

%I #13 Mar 01 2023 05:43:32

%S 0,0,1,0,1,2,0,1,3,3,0,1,4,5,4,0,1,5,10,7,5,0,1,6,17,13,9,6,0,1,7,26,

%T 21,28,15,7,0,1,8,37,31,65,40,17,8,0,1,9,50,43,126,85,82,21,9,0,1,8,

%U 65,57,217,156,257,91,27,10,0,1,8,10,73,344,259,626,273,112,31,11,0,1,8,11,80,513,400,1297,651,325,121,33,12

%N Array, read by antidiagonals, of n-th strobogrammatic number in base k.

%C If a binary number is palindromic, it is also strobogrammatic. In bases 3 through 7, this is not true, where only digits 0 and 1 can be used, because 8 is not a digit, nor are either of the inversion paid (6,9). I do not show bases beyond 10, although admittedly some letters as digits are other letters upside-down.

%e A[2,4] = 5 because 4th strobogrammatic number base 2 = 101 = 5 (base 10). A[9,8] = 154 because 8th strobogrammatic number base 9 = 181 = 154 (base 10). The array begins: ===================================================================================

%e ..n.|.1.|.2.|.3.|..4.|..5.|...6.|...7.|....8.|....9.|...10.|...11.|....12.|

%e ===================================================================================

%e k=1.|.0.|.1.|.2.|..3.|..4.|...5.|...6.|....7.|....8.|....9.|...10.|....11.|

%e k=2.|.0.|.1.|.3.|..5.|..7.|...9.|..15.|...17.|...21.|...27.|...31.|....33.|A006995

%e k=3.|.0.|.1.|.4.|.10.|.13.|..28.|..40.|...82.|...91.|..112.|..121.|...244.|

%e k=4.|.0.|.1.|.5.|.17.|.21.|..65.|..85.|..257.|..273.|..325.|..341.|..1025.|

%e k=5.|.0.|.1.|.6.|.26.|.31.|.126.|.156.|..626.|..651.|..756.|..781.|..3126.|

%e k=6.|.0.|.1.|.7.|.37.|.43.|.217.|.259.|.1297.|.1333.|.1519.|.1555.|..7777.|

%e k=7.|.0.|.1.|.8.|.50.|.57.|.344.|.400.|.2402.|.2451.|.2752.|.2801.|.16808.|

%e k=8.|.0.|.1.|.9.|.65.|.73.|.513.|.585.|.4097.|.4161.|.4617.|.4681.|.32769.|

%e k=9.|.0.|.1.|.8.|.10.|.80.|..82.|..91.|..154.|..656.|..665.|..728.|...730.|

%e k=10|.0.|.1.|.8.|.11.|.69.|..88.|..96.|..101.|..111.|..181.|..609.|...619.|A000787

%e ===================================================================================

%p strobo := proc(b,n)

%p option remember;

%p local a;

%p if n <=2 then

%p return n-1 ;

%p elif b = 1 then

%p return n-1 ;

%p else

%p for a from procname(b,n-1)+1 do

%p isstrobo := true ;

%p dgsa := convert(a,base,b) ;

%p for d from 1 to nops(dgsa) do

%p if op(d,dgsa)=1 and op(-d,dgsa) <> 1 then

%p isstrobo := false;

%p elif op(d,dgsa)=8 and op(-d,dgsa) <> 8 then

%p isstrobo := false;

%p elif op(d,dgsa)=6 and op(-d,dgsa) <> 9 then

%p isstrobo := false;

%p elif op(d,dgsa)=9 and op(-d,dgsa) <> 6 then

%p isstrobo := false;

%p elif op(d,dgsa)=0 and op(-d,dgsa) <> 0 then

%p isstrobo := false;

%p elif op(d,dgsa) in { 2,3,4,5,7} then

%p isstrobo := false;

%p end if;

%p end do;

%p if isstrobo then

%p return a;

%p end if;

%p end do:

%p end if;

%p end proc: # _R. J. Mathar_, Sep 30 2011

%Y Cf. A006995, A000787, A006072, A068188, A007597.

%K base,easy,nonn,tabl

%O 1,6

%A _Jonathan Vos Post_, Jan 24 2009