以下是使用递归方式编写一个计算三角形数的程序:
def triangular_number(n):
# 递归的基本情况
if n == 1:
return 1
# 递归调用
return n + triangular_number(n-1)
# 测试程序
num = 5
print(f"三角形数 {num} 的值为:{triangular_number(num)}")
输出结果:
三角形数 5 的值为:15
在这个例子中,我们定义了一个名为triangular_number
的递归函数,它接受一个参数n
,表示要计算的三角形数的阶数。在递归函数内部,我们首先处理基本情况,即当n
为1时,直接返回1。然后,我们使用递归调用来计算较小阶数的三角形数,并将其与当前阶数n
相加,返回结果。
请注意,虽然这个解决方案避免了使用循环,但递归可能在处理大数值时会导致栈溢出的问题。因此,在实际应用中,最好使用循环来计算三角形数。