cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

Showing 1-2 of 2 results.

A219967 Number A(n,k) of tilings of a k X n rectangle using straight (3 X 1) trominoes and 2 X 2 tiles; square array A(n,k), n>=0, k>=0, read by antidiagonals.

Original entry on oeis.org

1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 2, 1, 0, 1, 1, 1, 2, 3, 3, 2, 1, 1, 1, 0, 2, 4, 3, 4, 2, 0, 1, 1, 0, 3, 8, 8, 8, 8, 3, 0, 1, 1, 1, 4, 13, 21, 28, 21, 13, 4, 1, 1, 1, 0, 5, 19, 31, 65, 65, 31, 19, 5, 0, 1, 1, 0, 7, 35, 70, 170, 267, 170, 70, 35, 7, 0, 1
Offset: 0

Views

Author

Alois P. Heinz, Dec 02 2012

Keywords

Examples

			A(4,4) = 3, because there are 3 tilings of a 4 X 4 rectangle using straight (3 X 1) trominoes and 2 X 2 tiles:
  ._._____.  ._____._.  ._._._._.
  | |_____|  |_____| |  | . | . |
  | | . | |  | | . | |  |___|___|
  |_|___| |  | |___|_|  | . | . |
  |_____|_|  |_|_____|  |___|___| .
Square array A(n,k) begins:
  1,  1,  1,  1,  1,   1,    1,     1,     1, ...
  1,  0,  0,  1,  0,   0,    1,     0,     0, ...
  1,  0,  1,  1,  1,   2,    2,     3,     4, ...
  1,  1,  1,  2,  3,   4,    8,    13,    19, ...
  1,  0,  1,  3,  3,   8,   21,    31,    70, ...
  1,  0,  2,  4,  8,  28,   65,   170,   456, ...
  1,  1,  2,  8, 21,  65,  267,   804,  2530, ...
  1,  0,  3, 13, 31, 170,  804,  2744, 12343, ...
  1,  0,  4, 19, 70, 456, 2530, 12343, 66653, ...
		

Crossrefs

Columns (or rows) k=0-10 give: A000012, A079978, A000931(n+3), A219968, A202536, A219969, A219970, A219971, A219972, A219973, A219974.
Main diagonal gives: A219975.

Programs

  • Maple
    b:= proc(n, l) option remember; local k, t;
          if max(l[])>n then 0 elif n=0 or l=[] then 1
        elif min(l[])>0 then t:=min(l[]); b(n-t, map(h->h-t, l))
        else for k do if l[k]=0 then break fi od;
             b(n, subsop(k=3, l))+
             `if`(k `if`(n>=k, b(n, [0$k]), b(k, [0$n])):
    seq(seq(A(n, d-n), n=0..d), d=0..14);
  • Mathematica
    b[n_, l_] := b[n, l] = Module[{ k, t}, If [Max[l] > n, 0, If[n == 0 || l == {}, 1, If[ Min[l] > 0 ,t = Min[l]; b[n-t, l-t], k = Position[l, 0, 1][[1, 1]]; b[n, ReplacePart[l, k -> 3]] + If[k < Length[l] && l[[k+1]] == 0, b[n, ReplacePart[l, {k -> 2, k+1 -> 2}]], 0] + If[k+1 < Length[l] && l[[k+1]] == 0 && l[[k+2]] == 0, b[n, ReplacePart[l, {k -> 1, k+1 -> 1, k+2 -> 1}]], 0] ] ] ] ]; a[n_, k_] := If[n >= k, b[n, Array[0&, k]], b[k, Array[0&, n]]]; Table[Table[a[n, d-n], {n, 0, d}], {d, 0, 14}] // Flatten (* Jean-François Alcover, Dec 16 2013, translated from Maple *)

A233807 Number of tilings of an n X n square using right trominoes and at most one monomino.

Original entry on oeis.org

1, 1, 4, 0, 16, 128, 162, 34528, 943096, 1193600, 3525377600, 480585761344, 2033502499954, 46983507796973152, 32908187880881958736, 458324092996867592192, 83153202122213272708832688, 299769486068040749617049301344
Offset: 0

Views

Author

Alois P. Heinz, Dec 16 2013

Keywords

Examples

			a(2) = 4:
  .___.  .___.  .___.  .___.
  |_| |  | |_|  | ._|  |_. |
  |___|  |___|  |_|_|  |_|_| .
		

Crossrefs

Programs

  • Maple
    b:= proc(n, w, l) option remember; local k, t;
          if max(l[])>n then 0 elif n=0 then 1
        elif min(l[])>0 then t:=min(l[]); b(n-t, w, map(h->h-t, l))
        else for k while l[k]>0 do od;
             `if`(w, b(n, false, s(k=1, l)), 0)+
             `if`(k>1 and l[k-1]=1, b(n, w, s(k=2, k-1=2, l)), 0)+
             `if`(k b(n, evalb(irem(n, 3)>0), [0$n]): s:= subsop:
    seq(a(n), n=0..10);
  • Mathematica
    $RecursionLimit = 1000; s = ReplacePart; b[n_, w_, l_] := b[n, w, l] = Module[{k, t}, Which[Max[l] > n, 0,n == 0, 1,Min[l] > 0, t = Min[l]; b[n-t, w, l-t], True, For[k = 1, l[[k]] > 0, k++ ]; If[w, b[n, False, s[l, k -> 1]], 0]+If[k > 1 && l[[k-1]] == 1, b[n, w, s[l, {k -> 2, k-1 -> 2}]], 0] + If[k < Length[l] && l[[k+1]] == 1, b[n, w, s[l, {k -> 2, k+1 -> 2}]], 0] + If[k < Length[l] && l[[k+1]] == 0, b[n, w, s[l, {k -> 1, k+1 -> 2}]]+b[n, w, s[l, {k -> 2, k+1 -> 1}]] + If[w, b[n, False, s[l, {k -> 2, k+1 -> 2}]], 0], 0] + If[k+1 < Length[l] && l[[k+1]] == 0 && l[[k+2]] == 0, b[n, w, s[l, {k -> 2, k+1 -> 2, k+2 -> 2}]], 0] ] ]; a[n_] := b[n, Mod[n, 3] > 0, Array[0 &, n]]; Table[Print[an = a[n]]; an, {n, 0, 16}] (* Jean-François Alcover, Dec 30 2013, translated from Maple *)

Extensions

a(17) from Alois P. Heinz, Sep 24 2014
Showing 1-2 of 2 results.