ある数が素数かどうかを判定し、範囲内の素数を一覧表示する実装例です。コピペで動くコードと実行結果、処理の流れを確認できます。 下のコードはブラウザ内でそのまま実行できます。「実行エディタで開く」を押すと、progoのオンラインRuby実行環境にコードが読み込まれ、その場で動作を確認できます。
def prime?(n)
return false if n < 2
(2..Math.sqrt(n)).each do |i|
return false if n % i == 0
end
true
end
puts (1..30).select { |n| prime?(n) }.join(" ")
▶ このコードを実行エディタで開く
Math.sqrt(n)までの範囲を調べれば十分です。selectで条件に合う数だけ抽出します。falseを返します。