login
A373081
The area of the n-th convex honeycomb formed by spirals of incrementing strips of hexagons.
0
1, 3, 10, 21, 91, 120, 300, 990, 2080, 8911, 11781, 29403, 97020, 203841, 873181, 1154440, 2881200, 9506980, 19974360, 85562821, 113123361, 282328203, 931587030, 1957283461, 8384283271, 11084934960, 27665282700, 91286021970, 191793804840, 821574197731, 1086210502741, 2710915376403
OFFSET
1,2
COMMENTS
In a hexagonal grid, begin with a single central hexagon. Wrap strips of incrementally more hexagons (strip of 2, then 3, etc.) around the center such that they are connected at their start and endpoints to the previous and subsequent strips. If a strip's endpoint completes a convex set of hexagons with all of those before it (i.e., the boundary hexagons' centers represent the convex hull of all hexagons' centers), the number of hexagons in the construction is a term of this sequence.
This is the intersection of triangular numbers (A000217) and A001399. The former represents the possible areas formed by the incrementing strip construction. The latter represents all possible convex bounding areas.
EXAMPLE
The first term is trivial, as it represents a single hexagon. So a(1) = 1.
Adding a strip of two hexagons forms a triple of hexagons whose set is also convex, with 3 total hexagons included. a(2) = 3.
The three-hexagon strip forms the first concave honeycomb, missing a single hexagon in what would otherwise be a 7-hex flower.
The four-hexagon strip completes a convex honeycomb that consists of three layers -- 3|4|3 hexagons in each. a(3) = 10.
PROG
(R)
# This generates and displays the first 20 examples
# along with the index of A000217 and A001399
generate_triangular_number <- function(n){
return(sum(1:n))
}
generate_hexangular_number <- function(n){
return(round((n + 3)^2/12))
}
tri_i <- 1
hex_i <- 1
n_matches <- 0
while(n_matches < 20){
if(generate_triangular_number(tri_i) == generate_hexangular_number(hex_i)){
n_matches <- n_matches + 1
print(c(n_matches, tri_i, hex_i, generate_triangular_number(tri_i)))
tri_i <- tri_i + 1
hex_i <- hex_i + 1
} else{
if(generate_triangular_number(tri_i) > generate_hexangular_number(hex_i)){
hex_i <- hex_i + 1
} else{
tri_i <- tri_i + 1
}
}
}
(PARI) lista(nn) = select(x->ispolygonal(x, 3), vector(nn, k, round((k + 3)^2/12))); \\ Michel Marcus, Jun 12 2024
CROSSREFS
Sequence in context: A071563 A360632 A139116 * A120109 A286067 A337623
KEYWORD
nonn
AUTHOR
Brandan Williams, May 22 2024
STATUS
approved