📌  相关文章
📜  1、3、6、10…(三角数)的和(1)

📅  最后修改于: 2023-12-03 14:59:03.552000             🧑  作者: Mango

三角数的和

在数学中,三角数是通过将自然数组成等腰直角三角形的方法得到的一系列数字。三角数序列的开始几项如下:

1,3,6,10,15,21,28,36,45,55,66,78,91,105,120,136,153,171,190,210,231,253,276,300,325,351,378,406,435,465,496,528,561,595,630,666……

本文将介绍如何通过编程计算三角数序列的和。

方法一:循环计算

通过循环计算每个三角数,再将它们相加便可得到它们的和。

def triangle(n):
    return n * (n + 1) // 2 # 计算第n个三角数

def triangle_sum(n):
    sum = 0
    for i in range(1, n+1):
        sum += triangle(i)
    return sum

使用方法:

triangle_sum(5)   # 返回21
triangle_sum(10)  # 返回220
方法二:直接计算

计算三角数序列的和的通式为 n(n+1)(n+2)/6,我们可以直接将n带入求和即可。

def triangle_sum_2(n):
    return n*(n+1)*(n+2)//6

使用方法:

triangle_sum_2(5)   # 返回21
triangle_sum_2(10)  # 返回220

以上两种方法都能正确求解三角数的和,但是在计算大量三角数时,方法二的效率更高。