login
A396647
Numbers k = p_1^e_1 * ... * p_i^e_i such that the area of the convex hull of the planar coordinates [p_i, e_i] is not an integer, but >= 1/2.
1
90, 126, 150, 180, 198, 234, 252, 294, 300, 306, 342, 350, 360, 396, 414, 468, 490, 504, 522, 550, 558, 588, 600, 612, 630, 650, 666, 684, 700, 720, 726, 738, 774, 792, 810, 828, 846, 850, 936, 950, 954, 980, 990, 1008, 1014, 1044, 1050, 1062, 1078, 1098
OFFSET
1,1
COMMENTS
At least 3 non-collinear points to form a two-dimensional shape (a polygon) with a nonzero area are needed.
According to Pick's Theorem, the area A of any integral polygon is determined by the formula A = I - 1 + B/2 where I is the number of integer points strictly inside the polygon and B is the number of integer points on the boundary. Thus the minimal area of the convex hull of an integer k in this sequence is 1/2.
Empirically: if A(k) is not an integer, then A(k) < k/36. A(k) denotes the area of the convex hull (according to the described procedure) for an integer k.
EXAMPLE
For k = 90: k = 2^1*3^2*5^1, the area of the convex hull of the planar coordinates (2, 2), (3, 2), (5, 1) is 3/2 = 1.5 thus k = 90 is a term.
PROG
(Python)
from itertools import count, islice
from sympy import factorint
from sympy.geometry import convex_hull
def A396647_gen(startvalue=2): # generator of terms >= startvalue
for k in count(max(startvalue, 2)):
p = convex_hull(*factorint(k).items())
if hasattr(p, 'area') and not p.area.is_integer:
yield int(k)
A396647_list = list(islice(A396647_gen(), 50)) # Chai Wah Wu, Jun 01 2026
CROSSREFS
KEYWORD
nonn
AUTHOR
Ctibor O. Zizka, Jun 01 2026
STATUS
approved