我试图创建一个函数,该函数在算术级数中给出第一个数,推导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 谢谢你的帮助
答案 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)