総あたりでの素因数分解です
ある程度の汚さはアルゴリズム由来なのかもしれませんが、もっと格好よく書きたいです
state monadとかを使えば格好よく書けるでしょうか

http://codepad.org/5PUyX0zV