Project Euler: Problem14 (改良版)
あまりにも遅いので人の解答を参考にした。ディクショナリ(ハッシュ?)のキーを文字列にしているのはなんかよくわからん。文字列のほうがいいものなのかな?
class Problem10 def Problem10.calc(last) primes = {} (2...last).each {|n| primes[n.to_s] = n} (2...last).each {|n| c = n + n while c < last primes.delete(c.to_s) c += n end } result = 0 primes.each {|_,v| result += v} return result end end p Problem10.calc(2_000_000)