4.2 標準ライブラリの再帰関数を再現