再帰的にやれば少なくて済むかなと思ったんですが意外と使ってしまいました。 ただし変数を全く使っていないという点で他とは、かなり差別化できているプログラムだと思います。 ただし少ないブロックを重視した結果効率は悪いです。2,3,6m±1と√nまでという条件を使えば O(√n/logn)くらいまでに収められますが このプロジェクトは純粋にO(n)になっていると思います。
なんか有限オートマトンみを感じますね(?)