[ruby] 楽にProjectEulerを解きまくるスクリプト

最近、id:hogemがProjectEulerをちょこちょこやってるみたいなので僕も少しやってみた。
ProjectEulerは数学の問題をプログラミングで解いていくもので、解法に用いるアルゴリズムやスピードは関係なく答えさえあってればいいみたいです。
となると、作業としては手元でプログラミングを書いて、答えを出力し、それをコピーして、ブラウザで貼付けて…
あぁめんどくせぇ、しかも答え間違ってるって来た日には…みたいな感じになったのでスクリプト書きました。

ダウンロード

githubがやたらいいらしいのでgithubに置いてます。
これで僕もgitの基本操作をマスターしました:-)
samurai20000/postprojecteuler · GitHub

使い方

lib/postprojecteuler.rbにサンプルスクリプトを入れてありますのでそのまま実行してください。

ruby problem1.rb | ./postprojecteuler.rb 1

rubyの実行のところはお好きな言語で書いてその標準出力を./postprojecteulerに食わせてます。
postprojecteuler.rb の引数1は問題番号です。

注意

内部でmechanizeやpitを使っているのでインストールが必要です。gemで入れておいてください。
また、pit内部で環境変数EDITORを読んでるので設定しておいてください。その辺はpitがちょう便利だよ! (ついでに Net::Netrc の紹介) - noplans_rubyの日記にも書いてあります。
ちなみに僕はzshでこんな感じで設定しています。

export EDITOR="vim"; export EDITOR

todo

  • 毎回ログインしているので結構遅い。cookie使ってログインパスできるようにする

このスクリプトを作るにあたりid:cho45さんのuserscripts_orgを参考にしました。
/lang/ruby/userscripts_org –
CodeRepos::Share – Trac

pitもid:cho45さん作でアカウント情報とテストを分離できて超便利でした!ありがとうございました!