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.

A360632 Number of sets of integer-sided rectangular pieces that can tile a 3 X n rectangle.

This page as a plain text file.
%I A360632 #17 May 09 2025 02:58:52
%S A360632 1,3,10,21,73,190,510,1196,2895,6437,14281,29840,62405,124506,246383,
%T A360632 473094,899000,1665763,3057894,5500889,9808150
%N A360632 Number of sets of integer-sided rectangular pieces that can tile a 3 X n rectangle.
%e A360632 From _Robin Visser_, May 01 2025: (Start)
%e A360632 For n = 1, there are a(1) = 3 possible sets of rectangular pieces that can tile a 3 x 1 rectangle: one 1 x 3 piece; one 1 x 2 piece and one 1 x 1 piece; or three 1 x 1 pieces.
%e A360632 For n = 2, there are a(2) = 10 possible sets of rectangular pieces that can tile a 3 x 2 rectangle: one 2 x 3 piece; one 2 x 2 piece and one 1 x 2 piece; one 2 x 2 piece and two 1 x 1 pieces; two 1 x 3 pieces; one 1 x 3 piece, one 1 x 2 piece, and one 1 x 1 piece; one 1 x 3 piece and three 1 x 1 pieces; three 1 x 2 pieces; two 1 x 2 pieces and two 1 x 1 pieces; one 1 x 2 piece and four 1 x 1 pieces; or six 1 x 1 pieces. (End)
%o A360632 (Python)
%o A360632 def a(n):
%o A360632     A = [[[set() for i in range(n+1)] for j in range(n+1)] for k in range(n+1)]
%o A360632     A[0][0][0].add(()); m = n+1;
%o A360632     for (i,j,k) in [(x,y,z) for x in range(m) for y in range(m) for z in range(m)]:
%o A360632         for (l,p) in [(x,y) for x in range(1,i+1) for y in A[i-x][j][k]]:
%o A360632             A[i][j][k].add(tuple(sorted(list(p)+[(1,l)])))
%o A360632         for (l,p) in [(x,y) for x in range(1,j+1) for y in A[i][j-x][k]]:
%o A360632             A[i][j][k].add(tuple(sorted(list(p)+[(1,l)])))
%o A360632         for (l,p) in [(x,y) for x in range(1,k+1) for y in A[i][j][k-x]]:
%o A360632             A[i][j][k].add(tuple(sorted(list(p)+[(1,l)])))
%o A360632         for (l,p) in [(x,y) for x in range(1,min(i,j)+1) for y in A[i-x][j-x][k]]:
%o A360632             if (i==j): A[i][j][k].add(tuple(sorted(list(p)+[tuple(sorted((2,l)))])))
%o A360632         for (l,p) in [(x,y) for x in range(1,min(j,k)+1) for y in A[i][j-x][k-x]]:
%o A360632             if (j==k): A[i][j][k].add(tuple(sorted(list(p)+[tuple(sorted((2,l)))])))
%o A360632         for (l,p) in [(x,y) for x in range(1,min(i,j,k)+1) for y in A[i-x][j-x][k-x]]:
%o A360632             if (i==j==k): A[i][j][k].add(tuple(sorted(list(p)+[tuple(sorted((3,l)))])))
%o A360632     return len(A[n][n][n])  # _Robin Visser_, May 01 2025
%Y A360632 Third column of A360629.
%Y A360632 Cf. A000041 (1 x n rectangle), A360631 (2 x n rectangle).
%K A360632 nonn,more
%O A360632 0,2
%A A360632 _Pontus von Brömssen_, Feb 14 2023
%E A360632 a(17)-a(20) from _Robin Visser_, May 04 2025
%E A360632 a(0) = 1 prepended by _Robin Visser_, May 05 2025