📅  最后修改于: 2023-12-03 15:26:37.840000             🧑  作者: Mango
本程序用于查找不超过给定数字N的五角形和六边形数字。以下是代码实现和相关说明。
def find_nums(n):
res = set()
i = 1
while (i * (3 * i - 1) / 2) <= n: # 五角形数字公式
res.add(i * (3 * i - 1) / 2)
i += 1
j = 1
while (j * (2 * j - 1)) <= n: # 六边形数字公式
res.add(j * (2 * j - 1))
j += 1
return list(res)
n
: 一个正整数,表示需要查找的数字范围。本程序返回一个列表,包含所有不超过n
的五角形和六边形数字。若n
小于1,返回一个空列表。
>>> find_nums(10)
[1, 5]
>>> find_nums(50)
[1, 5, 12, 22, 35, 51]
>>> find_nums(0)
[]
>>> find_nums(-1)
[]
# 查找所有不超过N的五角形和六边形数字
## 代码实现
```python
def find_nums(n):
# 代码实现
n
: 一个正整数,表示需要查找的数字范围。本程序返回一个列表,包含所有不超过n
的五角形和六边形数字。若n
小于1,返回一个空列表。
>>> find_nums(10)
[1, 5]
>>> find_nums(50)
[1, 5, 12, 22, 35, 51]
>>> find_nums(0)
[]
>>> find_nums(-1)
[]