落書きノート

ふと自分が気になった事を書いてます

Ruby 練習問題 素数であるかどうかを調べるプログラム

P.180の最後の問題です。微妙に難しかったので答えを見ました。

def prime?(num)
  return false if num < 2
  2.upto(Math.sqrt(num)){|i|
    if num % i == 0 then
        return false
    end
  }
  return true
end

puts prime?(4)
puts prime?(5)

素数であるかどうかを調べるプログラムです。プロコンで出てきそうな感じですね。C++Javaなので、もうちょっと難しそうですが。