Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

Problem 104

Project EulerProblem 104(日本語)です。
普通に作ると非常に遅いので、下9桁のみを保存しておく変数を用意し、これが1から9までの数字をすべて含む場合のみ、頭から9桁をチェックするようにしてみました。

104.rb

追記

Project Euler 104 - 桃の天然水」によると、pandigitalなら9の倍数になるそうです。これを利用して、9行目を以下のようにするだけで4秒程度速くなりますね。

if la.to_i % 9 == 0 && la.to_i.to_s.split(//).sort.join == "123456789"