再帰の利点って何ですか?
最適化でループになるのなら、初めからループで書けば良いと思うのですが