A027709 Minimal perimeter of polyomino with n square cells.
0, 4, 6, 8, 8, 10, 10, 12, 12, 12, 14, 14, 14, 16, 16, 16, 16, 18, 18, 18, 18, 20, 20, 20, 20, 20, 22, 22, 22, 22, 22, 24, 24, 24, 24, 24, 24, 26, 26, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 30, 30, 30, 30, 30, 30, 30, 32, 32, 32, 32, 32, 32, 32, 32, 34, 34, 34, 34, 34, 34
Offset: 0
Examples
a(5) = 10 because we can arrange 5 squares into 2 rows, with 2 squares in the top row and 3 squares in the bottom row. This shape has perimeter 10, which is minimal for 5 squares.
References
- F. Harary and H. Harborth, Extremal Animals, Journal of Combinatorics, Information & System Sciences, Vol. 1, No 1, 1-8 (1976).
- W. C. Yang, Optimal polyform domain decomposition (PhD Dissertation), Computer Sciences Department, University of Wisconsin-Madison, 2003.
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 0..10000
- Greg Malen, Érika Roldán, and Rosemberg Toalá-Enríquez, Extremal {p, q}-Animals, Ann. Comb. (2023). See Corollary 1.9 at p. 8.
- Henri Picciotto, Geometry Labs, Labs 8.1-8.3.
- J. Yackel, R. R. Meyer and I. Christou, Minimum-perimeter domain assignment, Mathematical Programming, vol. 78 (1997), pp. 283-303.
- Jason R. Zimba, Solution to Perimeter Problem, Jan 23 2015
Crossrefs
Programs
-
Haskell
a027709 0 = 0 a027709 n = a027434 n * 2 -- Reinhard Zumkeller, Mar 23 2013
-
Magma
[2*Ceiling(2*Sqrt(n)): n in [0..100]]; // Vincenzo Librandi, May 11 2015
-
Maple
interface(quiet=true); for n from 0 to 100 do printf("%d,", 2*ceil(2*sqrt(n))) od;
-
Mathematica
Table[2*Ceiling[2*Sqrt[n]], {n, 0, 100}] (* Wesley Ivan Hurt, Mar 01 2014 *)
-
Python
from math import isqrt def A027709(n): return 1+isqrt((n<<2)-1)<<1 if n else 0 # Chai Wah Wu, Jul 28 2022
Formula
a(n) = 2*ceiling(2*sqrt(n)).
a(n) = 2*A027434(n) for n > 0. - Tanya Khovanova, Mar 04 2008
Extensions
Edited by Winston C. Yang (winston(AT)cs.wisc.edu), Feb 02 2002
Comments