とんちゃんといっしょ

Cloudに関する技術とか日常とかについて書いたり書かなかったり

Problem 7

問題

Find the 10001st prime.

英語

By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6^(th) prime is 13.

What is the 10001^(st) prime number?

http://projecteuler.net/index.php?section=problems&id=7
日本語

素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり、6番目の素数は 13 である。

10001 番目の素数を求めよ。

http://odz.sakura.ne.jp/projecteuler/index.php?Problem%207

解説

素数の番号を数えるだけ。
めんどくさいからmathnにあるPrimeクラスを使って求める。
もっとスマートな方法があると思うけど今回はこれでおk

ソースコード(Ruby)

require 'mathn'

prime = Prime.new

prime.each_with_index do |x, i|
    break if i > (1e4 - 2)
end 

puts prime.succ