📅  最后修改于: 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, ...。
这两种数列都有很多有趣的性质,如下面所述。
以下是 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_number
和 icosikaioctagona_number
分别计算二十烷八角形数和二十八角形数。程序还输出了前 10 个二十烷八角形数和二十八角形数、第一个大于 1000 的二十烷八角形数和第一个大于 1000 的二十八角形数。