我試圖找到這個collatz序列的長度。如果我將test_array << number
更改爲puts number
,我可以輸出序列中的每個數字,但出於某種原因,我無法在將新值返回給該函數之前將此數字推入數組。任何幫助將非常感激。爲什麼我不能將函數參數推入數組中?
test_array = []
def collatz_sequence(number)
return number if number==1
if number%2==0
test_array << number
return collatz_sequence(number/2)
else
test_array << number
return collatz_sequence(3*number+1)
end
end
puts collatz_sequence(13)
謝謝大家!我接受了這個答案,因爲它是最長的,但每個人都很有幫助。非常感謝! – hirokibutterfield