基本的ruby递归:堆栈级别太深(SystemStackError)

时间:2015-11-30 07:08:53

标签: ruby recursion

我想这是由于无限递归。我究竟做错了什么?我的目标是找到可被1-20号整除的最小数字。

def smallest(n, count)
  (2..n).each do |num|
    if count % num != 0
      count += 1
      smallest(n, count)
    end
  end
  return count 
end

puts smallest(20, count=20)

1 个答案:

答案 0 :(得分:0)

您确定在此示例中是否需要递归? 尝试使用代码而不调用smallest(n, count)

顺便说一句,这个算法找到的数字不能被数字1-20整除。