Functional programming
典型的な関数型言語では再帰をよく使う。再帰に置き換えると以下のようになる。