有人能给我一个简短的解释,说明为什么n +(n-1)不起作用?它在数学上确实如此,但我不确定如何告诉红宝石这是我正在寻找的东西?正如标题所暗示的那样,代码应该返回Fibonacci序列。
startyear = []
(1..100).each do |n|
puts n+(n-1)
startyear.push(n)
end
答案 0 :(得分:2)
n+(n-1) = 2n-1
。您的代码只显示2n-1
(1,3,5,7,..,199)。
另一方面,startyear.push(n)
正在将数字(1,2,3,。,100)推入startyear
数组。我认为你打算做这样的事情。
startyear = [1,1]
(2..100).each do |n|
puts (new_num = startyear[n-1] + startyear[n-2])
startyear.push(new_num)
end
但同样,我不能100%确定代码中的范围代表什么,所以我可能错了。