如果%>使用<%break的不一致导致永不结束循环的语句*已修复

时间:2016-11-27 18:27:14

标签: ruby

我写了两个函数,其中一个break if array.length == num语句有效,而另一个没有。以下是方法及其测试,从工作开始:



def primes(n)
  ret = []

  return [] if n < 1

  for num in 2..+1.0/0.0
    ret << num if prime?(num)

    break if ret.count == n
  end

  ret
end

def prime?(num)
  (1..num).select {|x| num % x == 0}.count == 2
end

puts "\nPrimes:\n" + "*" * 15 + "\n"
puts primes(0) == []
puts primes(1) == [2]
puts primes(2) == [2,3]
puts primes(6) == [2,3,5,7,11,13]
&#13;
&#13;
&#13;

0 个答案:

没有答案