僕の修正案も回答しておきました。更新順1グローバル変数使っているのが違和感ありますが、その引数を取る関数でも「20通り」を算出する事はできます。気になる点なにもreturnしないルートがある。以降はreturnしていません。1は一度も呼ばれません。(なので1件も求められていない事になります。11とでるのはreturnしていないことによる副作用でしょう。1;}なので最後に書いたのを基に考え直してみるとよいかと思います。