用递归计算算术级数

时间:2017-12-01 11:01:17

标签: python recursion

我试图创建一个函数,该函数在算术级数中给出第一个数,推导d和系列中的项数为n,然后使用递归计算它们的总和 我尝试了以下

def rec_sum(a_1, d, n):
    if n == 0:
        return 0

    return (n*(a_1+rec_sum(a_1,d,n-1)))/2

print rec_sum(2,2,4)

这给了我18而不是20 谢谢你的帮助

2 个答案:

答案 0 :(得分:3)

有一种更简单的方法可以找到算术级数的总和,但是如果你需要递归 -

def rec_sum(first_element, step, seq_length):
    if seq_length <= 0:
        return 0
    return first_element + rec_sum(first_element + step, step, seq_length - 1)

答案 1 :(得分:1)

另一种解决方案:

done(new Error("Your error message"));

<强>输出:

def rec_sum(a_1, d, n):
    if n == 0:
        return 0
    return a_1 + rec_sum(a_1 + d, d, n-1)

print rec_sum(2, 2, 4)