📜  二十烷八角形或二十八角形数(1)

📅  最后修改于: 2023-12-03 15:36:03.141000             🧑  作者: Mango

二十烷八角形或二十八角形数

简介

二十烷八角形数(heptacontakaioctagona number)和二十八角形数(icosikaioctagona number)是两种多边形数。它们分别是二十八边形和二十八角形的多边形数之一。

二十烷八角形数可表示为 $n(97n-47)/2$,前几项分别为 1, 50, 145, 296, 505, 776, 1113, 1510, 1961, 2460, 3001, 3588, 4225, 4916, 5665, 6476, 7353, 8298, 9315, 10406, ...。

二十八角形数可表示为 $n(49n-22)$,前几项分别为 1, 28, 75, 136, 217, 324, 463, 640, 861, 1132, 1459, 1848, 2305, 2826, 3417, 4084, 4833, 5660, 6571, 7572, ...。

这两种数列都有很多有趣的性质,如下面所述。

二十烷八角形数的性质
  1. 二十烷八角形数等于从一个正三角形的顶点开始,沿 $n$ 条反斜线走到一个八边形的顶点的不同路径数。
  2. 二十烷八角形数是 $97$ 的倍数。
  3. 二十烷八角形数具有整数划分的性质,即可以表示为一系列整数之和的方式数。
  4. 第 $n$ 个二十烷八角形数恰好等于 $(4n-1)$ 个三角形的面积之和。
  5. 二十烷八角形数可以表示为一个三次方程的根,即 $n(97n-47)/2$ = $(4n-1)^3/6$,因此可以得到如下公式:$$ n = \frac{3(8m+1) \pm \sqrt{24m^2+16m+1}}{2} $$ 其中 $m$ 为一个非负整数。
二十八角形数的性质
  1. 二十八角形数等于从一个正方形的顶点开始,沿 $n$ 条对角线走到一个二十八边形的顶点的不同路径数。
  2. 二十八角形数是 $22$ 的倍数。
  3. 二十八角形数可以表示为一个二次方程的根,即 $n(49n-22)$ = $(2n-1)^2n$,因此可以得到如下公式:$$ n = \frac{(2m-1)^2}{2m-49} $$ 其中 $m$ 为一个非负整数。
  4. 二十八角形数 $n$ 的下一个二十八角形数为 $(2n-1)+2n(2n-1)$。
程序示例

以下是 Python 代码示例:

def heptacontakaioctagona_number(n: int) -> int:
    return n * (97 * n - 47) // 2

def icosikaioctagona_number(n: int) -> int:
    return n * (49 * n - 22)

# 输出前 10 个二十烷八角形数和二十八角形数
for i in range(1, 11):
    print(f"{i}: {heptacontakaioctagona_number(i)}, {icosikaioctagona_number(i)}")

# 输出第一个大于 1000 的二十烷八角形数
n = 1
while heptacontakaioctagona_number(n) <= 1000:
    n += 1
print(f"First heptacontakaioctagona number greater than 1000 is {heptacontakaioctagona_number(n)}")

# 输出第一个大于 1000 的二十八角形数
n = 1
while icosikaioctagona_number(n) <= 1000:
    n += 1
print(f"First icosikaioctagona number greater than 1000 is {icosikaioctagona_number(n)}")

该程序定义了两个函数 heptacontakaioctagona_numbericosikaioctagona_number 分别计算二十烷八角形数和二十八角形数。程序还输出了前 10 个二十烷八角形数和二十八角形数、第一个大于 1000 的二十烷八角形数和第一个大于 1000 的二十八角形数。