2016-11-21 54 views
-3

問題陳述 使用遞歸方法計算列表中元素的總和。 例如,您提供了一個值爲{1,2,3,4,5}的列表使用遞歸列表中元素的總和

元素的總和應按照下面提到的方式使用遞歸進行計算。

  1. {1,2,3,4,5}
  2. {3,4,5,6}
  3. {7,8,9}
  4. {15,16}
  5. {31}

在此先感謝。

+0

什麼是列表從1到5的總和?示例輸入? – Nurjan

+0

你已經試過了什麼? –

+0

是1到5是列表中的元素。我沒有得到如何用遞歸求解的方法。我嘗試過使用循環它的簡單,但獲得使用遞歸。 –

回答

1
def mySum(arr): 
    if len(arr) == 1: 
     return arr[0] 
    elif len(arr) == 0: 
     return 0 
    return (arr[-1] + mySum(arr[:-1])) 

編輯1:添加作爲評論

遞歸指出如下可以定義更多的信息:

  • 基例
    • 如果長度是零,我們返回的總和爲零
    • 如果長度爲1,我們返回元素
  • 否則,我們遞歸調用上的所有元素,但最後的(如在問題中提到,以獲得結構)
+0

儘管此代碼片段可能會解決問題,但[包括解釋](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! – kayess

+1

@ kayess有道理,增加信息 – Aditya