📅  最后修改于: 2023-12-03 15:06:10.897000             🧑  作者: Mango
三角形数是一个有趣的数学概念,它是自然数序列的一种形式,以三角形的形状来展现,每一层都有相同数量的数字,从顶层的一个数字开始逐渐增加,最后一层的数字数量等于序列的项数。第n个三角形数T(n)的公式是:T(n) = 1 + 2 + 3 + … + n = n*(n+1)/2。
我们可以用循环语句来计算前n个三角形数:
def triangle_numbers(n):
for i in range(1, n+1):
print(i*(i+1)//2)
以上代码会打印出前n个三角形数。需要注意的是,当n很大时,计算速度会变慢,这时可以考虑用数学公式来计算。
我们可以用以下公式来判断一个数是否为三角形数:
n = ((8*x + 1)**0.5 - 1)/2
如果n是整数,则x是三角形数。具体实现如下:
import math
def is_triangle_number(x):
n = (math.sqrt(8*x+1)-1)/2
return n == int(n)
以上代码会返回True或False,表示输入的x是否为三角形数。
三角形数有很多有趣的性质。以下是一些常见的性质: