Problem 10
10以下の素数の和は2 + 3 + 5 + 7 = 17である.
Problem 10 - PukiWiki
200万以下の全ての素数の和を計算しなさい.
Ruby
def get_primes(n) a = (2..n).to_a ret = [] begin b = a.shift ret << b a = a.reject{|i| i%b == 0 } end while b*b < n return ret+a end puts get_primes(2000000).inject{|v,i| v+i}
Problem7で作った奴を流用して行けるかと思ったんですが、当時手抜き実装してたおかげで計算時間かかりすぎる罠にはまるなどしたので書き直しました。とはいえ、これもまだまだとは思いますが…一応時間内に答えを出せたのでいいかな、と。