Ruby primeで任意の値までにある素数を取得する

  • 作成日 2021.10.25
  • 更新日 2022.08.01
  • Ruby
Ruby primeで任意の値までにある素数を取得する

Rubyで、primeを使用して、任意の値までにある素数を取得するサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。

環境

  • OS windows10 pro 64bit
  • ruby 2.7.2p137

prime使い方

primeを使用すれば、任意の値までにある素数を取得することが可能です。

require "prime"

Prime.each(任意の値まで)

以下は、0~20までにある素数を表示するサンプルコードとなります。

require "prime"

Prime.each(20) { |x| p x }

# 2
# 3
# 5
# 7
# 11
# 13
# 17
# 19

配列として取得することも可能です。

require "prime"

p Prime.each(20).to_a

# [2, 3, 5, 7, 11, 13, 17, 19]

また、0から指定した個数の素数を取得することも可能です。

require "prime"

p Prime.take(5).to_a

# [2, 3, 5, 7, 11]

指定した値より大きい素数を、指定した個数取得することもできます。
以下は、20以上で10個取得するパターンとなります。

require "prime"

p Prime.lazy.drop_while { |x| x < 20 }.take(10).to_a
# [23, 29, 31, 37, 41, 43, 47, 53, 59, 61]

素数であるか判定することも可能です。

require "prime"

p Prime.prime?(5)
# p Prime.prime?(5)

p Prime.prime?(8)
# false