追加
半年以上前にCNETの記事で出ていた、Google看板の問題もやってみた。
グーグル、謎の人材募集広告--シリコンバレーのビルボードに - CNET Japan
{eの値中の、最初の連続する10桁の素数}.com
てきとうに eの値を拾ってきて、napier_number.dat みたいなかんじでファイルに入れておく。
で、Rubyのコードがこれ。
include Math class Integer # 素数判定 def prime? n = self i = 3 if n < 2 then return false # 1以下は素数にあらず elsif n==2 then return true # 2は素数 elsif n % 2 == 0 then return false # 偶数は素数にあらず (2以外) else while i < sqrt(n).to_i + 1 do if n % i == 0 then return false #割り切れたら素数にあらず end i = i + 2 end return true #素数! end end end ## ======== main ========= data = File.read("napier_number.dat") n = 10 ## number of digits n = 10 ## 小数点の後から調べ始めることにするので、i=2から開始 for i in 2..(data.length - n - 1) str = data[i,n] if str[0].chr != '0' # 最初の桁が0じゃ駄目 if str.to_i.prime? print i, ", ", str, "\n" end end end
こんなド素人の書いたコードを見せびらかして意味あるんかな…。