Rubyで数値の各桁を計算で取得することは無駄な努力だった (と思ったらそうでもなかった) - Qiita

まとめ (2015/04/28追記)桁数はMath.log10を使って求める方法がダントツで速い各桁を配列で取得するには「一旦to_sで文字列にする」「1桁ずつ計算で求める」の2種類の方法がある桁数が膨大な場合はto_sしたほうが速いが、十分に小さい場合は計算で求めたほうが速…