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.

A334875 Number of tribone tilings of an n-triangle.

This page as a plain text file.
%I A334875 #41 Oct 24 2024 23:52:28
%S A334875 1,0,1,0,0,0,0,0,0,2,0,8,12,0,72,0,0,0,0,0,0,185328,0,4736520,
%T A334875 21617456,0,912370744,0,0,0,0,0,0,3688972842502560,0,
%U A334875 717591590174000896,9771553571471569856,0,3177501183165726091520,0,0,0,0,0,0
%N A334875 Number of tribone tilings of an n-triangle.
%C A334875 This sequence was requested to be added by the author of the link Code Golf challenge. It is based on the work of J. H. Conway, who proved that n = 12k + 0,2,9,11 if and only if T(n) can be tiled (i.e., exactly covered without overlapping) by tribones.
%H A334875 Code Golf Challenge, <a href="https://codegolf.stackexchange.com/q/204669/78850">Number of Distinct Tribone Tilings</a>, posted by CGCC user Bubbler.
%H A334875 J. H. Conway and J. C. Lagarias, <a href="http://dx.doi.org/10.1016/0097-3165(90)90057-4">Tiling with Polyominoes and Combinatorial Group Theory</a>, Journal of Combinatorial Theory, Series A 53 (1990), 183-208.
%H A334875 James Propp, <a href="https://arxiv.org/abs/2206.06472">Trimer covers in the triangular grid: twenty mostly open problems</a>, arXiv:2206.06472 [math.CO], 2022.
%o A334875 (Python) # tribone tilings
%o A334875 def h(coords):
%o A334875   def anyhex(i, j):
%o A334875     c = [x in coords for x in [(i-1, j), (i, j+1), (i+1, j+1), (i+1, j), (i, j-1), (i-1, j-1)]]
%o A334875     return any(map(lambda x, y: x and y, c, c[1:] + c[:1]))
%o A334875   return all(anyhex(*z) for z in coords)
%o A334875 def g(coords):
%o A334875   if not coords: return 1
%o A334875   #if not h(coords): return 0
%o A334875   i, j = min(coords)
%o A334875   if (i+1, j+1) not in coords: return 0
%o A334875   cases = 0
%o A334875   if (i+1, j) in coords: cases += g(coords - {(i, j), (i+1, j), (i+1, j+1)})
%o A334875   if (i, j+1) in coords: cases += g(coords - {(i, j), (i, j+1), (i+1, j+1)})
%o A334875   return cases
%o A334875 def f(n):
%o A334875   coords = {(i, j) for i in range(n) for j in range(i+1)}
%o A334875   #if n%12 not in [0, 2, 9, 11]: return 0
%o A334875   print(n, g(coords) if n%12 in [0, 2, 9, 11] else 0)
%o A334875 [f(x) for x in range(21)]
%Y A334875 The sequence of nonzero indices is A072065.
%Y A334875 Cf. A155219.
%K A334875 nonn,hard
%O A334875 0,10
%A A334875 _Jonathan Oswald_, May 13 2020
%E A334875 Name clarified by _James Propp_, Mar 28 2022