euler

http://projecteuler.net/index.php?section=problems
の1ページ目、50問くらいできた。
http://projecteuler.net/profile/you_ssk.png
Rubyで知ったのでRubyを使っているのですが、1.9のPrimeが1.8より断然早くて素晴らしい。
ちなみにp50はこんな風に書いてみた。

require 'mathn'
limit = 1000000
plist = Prime.instance.each(limit).to_a
ans = 0
maxlen = 0
(0..plist.size-2).each do |c|
  sum = plist[c]
  d = c+1
  while (sum += plist[d]) < limit
    e = d-c+1
    if e > maxlen and sum.prime?
      ans,maxlen = sum,e
    end
    d += 1
  end
end
p [ans,maxlen]

でもifのsum.prime?を前にするととても遅いよ。
計算量を少なくするには…と考えはじめると次の問題に進めない。