gpt4 book ai didi

python - 在 python 2.7 中编写一个函数来查找三角数

转载 作者:太空宇宙 更新时间:2023-11-03 17:34:28 25 4
gpt4 key购买 nike

我无法通过搜索找到答案,我已经为此工作了两天并且被难住了。我想我只是对数学感到困惑。我正在尝试编写一个函数来查找前 n 个三角形数。

def formula(n):
i = 1
while i <= n:
print i, '\t', n * (n + 1)/ 2
i += 1
print

例如,如果我输入公式(5),它将如下所示:

 1       1
2 3
3 6
4 10
5 15

我知道如何制作一个从 1 到我选择 n 的任何数字的表格..但我不知道如何使第二部分等于我输入的公式,其中 n*(n+1)/2。这其中的逻辑是什么?例如,每次我输入公式(5)时,循环都会从 1 到 5,但在右侧列中一直返回相同的精确答案,即 15。我无法到达从 1 开始的位置、 3、 6 等位于右侧。

最佳答案

观察到您正在计算 n * (n + 1)/2 而不是 i * (i + 1)/2 的评论是正确的。您还可以通过观察第 i 个三角形数只是从 1 到 i 的整数之和来摆脱在每一步中进行乘法和除法的麻烦,因此在每一步中您只需将 i 添加到前一个三角形数。代码如下:

def formula(n):
ith_sum = 0
for i in xrange(1, n+1):
ith_sum += i
print i, '\t', ith_sum

关于python - 在 python 2.7 中编写一个函数来查找三角数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31401053/

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