范围内的斐波纳契数(红宝石)

时间:2016-03-24 02:25:38

标签: ruby

有人能给我一个简短的解释,说明为什么n +(n-1)不起作用?它在数学上确实如此,但我不确定如何告诉红宝石这是我正在寻找的东西?正如标题所暗示的那样,代码应该返回Fibonacci序列。

startyear = []
(1..100).each do |n|
  puts n+(n-1)
  startyear.push(n)
end

1 个答案:

答案 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%确定代码中的范围代表什么,所以我可能错了。