gpt4 book ai didi

python - 计算多边形数需要一段时间才能计算

转载 作者:行者123 更新时间:2023-12-01 04:19:00 25 4
gpt4 key购买 nike

我创建了一个函数,希望它可以创建一个五边形和正方形的数字列表。

这是我到目前为止所得到的:

def sqpent(n):
i = 0
list = []
while n >= 0:
if n == 0:
list.append(0)
elif n == 1:
list.append(1)
elif (i*i == (i*(3*i-1)//2)):
list.append(i)
n -= 1
i += 1

但是当它超过前两个数字时,似乎需要一段时间......

最佳答案

您有两个问题:第一个问题是 n==0 的特殊情况和n==1不减少n ,因此进入无限循环。特殊外壳并不是真正需要的,可以丢弃。

第二个也是更重要的一个是在测试 i*i == (i*(3*i-1)//2) 中。您假设索引 i对于正方形数和五边形数来说是相同的。但这只会发生在 i==0 上。和i==1 ,因此您将找不到超过该值的值。

我建议:

  1. 迭代i而不是n让事情变得更简单。
  2. 点击i第一个五边形数并检查它是否是平方数(例如 int(sqrt(x))**2 == x )。
  3. 到达 n 时停止数字。

关于python - 计算多边形数需要一段时间才能计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33939037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com