LoginSignup
6
5

More than 5 years have passed since last update.

Rubyで素数の配列を返すプログラム

Last updated at Posted at 2014-05-27

2月に面接でホワイトボードを前に頭真っ白になったのをふと思い出したので、素数を返すプログラムを書いてみました。

どうせなら配列で返すか、ということで再帰的に素数を配列に足していくメソッドにしました。prime?メソッドはPrimeクラスを使わず自前です。

※コメント頂いたおかげでずいぶんスリムになりました。Before/Afterは編集履歴で確認できます。

primes_array.rb
def prime?(n,primes)
  primes.all? { |m| n % m != 0 }
end

def primes_array(n,i=2,arr=[])
  return arr if arr.size >= n
  arr << i if prime?(i)
  i += 1
  primes_array(n,i,arr)
end

p primes_array(ARGV[0].to_i)
6
5
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5