OFFSET
1,2
LINKS
Andrei Zabolotskii, Table of n, a(n) for n = 1..250
EXAMPLE
n | a(n) | Points in the positive octant
--------------------------------------------------------------------------------
1 | 1 | (0, 0, 0)
2 | 3 | (0, 0, 1), (0, 1, 0), (1, 0, 0)
3 | 3 | (0, 0, 2), (0, 2, 0), (2, 0, 0)
4 | 6 | (0, 1, 1), (1, 0, 1), (1, 1, 0), (0, 0, 3), (0, 3, 0), (3, 0, 0)
5 | 9 | (0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0), ...
6 | 10 | (1, 1, 1), (0, 1, 3), (0, 3, 1), (1, 0, 3), (1, 3, 0), (3, 0, 1), ...
7 | 6 | (0, 2, 2), (2, 0, 2), (2, 2, 0), (0, 0, 6), (0, 6, 0), (6, 0, 0)
8 | 12 | (1, 1, 2), (1, 2, 1), (2, 1, 1), (0, 1, 4), (0, 4, 1), (1, 0, 4), ...
9 | 15 | (0, 2, 3), (0, 3, 2), (2, 0, 3), (2, 3, 0), (3, 0, 2), (3, 2, 0), ...
10 | 18 | (1, 1, 3), (1, 3, 1), (3, 1, 1), (0, 2, 4), (0, 4, 2), (2, 0, 4), ...
PROG
(Python)
import numpy as np
from scipy.spatial import ConvexHull
def T(L, n):
points = np.argwhere(np.ones((L, L, L)))
v_idx = []
for i in range(n):
if len(points) == 0:
return 0
hull = ConvexHull(points)
v_idx = hull.vertices
if i < n - 1:
points = np.delete(points, v_idx, axis=0)
return len(v_idx)
def a(n):
return T(2*n + 2, n)//8 # Chittaranjan Pardeshi, Jan 03 2026
(SageMath)
def seq():
z = []
for i in (1..):
for row in z: row.append(0)
z.append([0] * i)
corners = [(0, 0, 2*i), (0, 2*i, 0), (2*i, 0, 0)]
hull = Polyhedron(vertices = [(x, y, z[x][y]) for x in (0..i-1) for y in (0..i-1)] + corners)
layer = [v for v in hull.vertices() if tuple(v) not in corners]
yield len(layer)
for x, y, _ in layer: z[x][y] += 1
from itertools import islice
print(list(islice(seq(), 20))) # Andrei Zabolotskii, Jan 15 2026
CROSSREFS
KEYWORD
nonn
AUTHOR
Chittaranjan Pardeshi, Jan 03 2026
EXTENSIONS
Terms a(51) and beyond from Andrei Zabolotskii, Jan 15 2026
STATUS
approved
