0
我想用遞歸方法求和包含min和max之間的所有整數。例如:min = 1, max= 5, sum = 1 + 2 + 3 + 4 + 5
用遞歸方法在兩個數之間求和的整數
我的問題是,我無法找到如何停止「循環」由遞歸性創建:
def sum_recursive(min, max)
return min if #I don't know how to stop it
min += (min + 1)
sum_recursive(min, max)
end
我會用一個計數器,但爲了這個,我需要創建一個每次函數調用時都會重置爲原始值的變量。
有沒有辦法做到這一點?或者以不同的方式來組織該方法?
'如果分== max'。你也應該在主要情況下返回'min + sum_recursive(min,max)'。 – ndn
適用於1 + 2 +3,但不適用於更多。即使2 + 3 + 4也不行,因爲我每次做min + =(min + 1) –
順便說一句:顯而易見的算術解法當然是'max *(max-1)/ 2 - min *(min -1)/ 2'。 –