我试图找到这个 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)