【发布时间】:2013-08-04 09:31:24
【问题描述】:
我试图找出这个 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)
【问题讨论】: