競プロでよく出題される問題には、「何通りありますか?」「何個・何組ありますか?」といった、数え上げる問題があります。ここでは、簡単な問題を例にして考え方を見ていきます。「何通りありますか?」というような問題を考える場合、一番基本的な数え方は、「すべて書き出す」方法です。「○」と「×」を使って、横一列に3つ並べる方法が何通りあるか考えてみます。「○」も「×」も、いくつ使ってもいいし、使わないものがあってもいいとします。この場合、数が少ないので、簡単に書き出すことができます。すべてを書き出して数える方法は確実ですが、漏れやダブりがないようにしなければいけない点に注意します。そのためには、ルールを決めて書き出していくのがいいです。上の例では、左側に○があるほうが上に来るように書き出しています。書き出す順序にルールを設けて順番に書き出せば、漏れやダブりが起こりにくいです。通りであることがわかります。高校で学ぶ数学の基礎(数I・A・II・B・III・C)を146項目に細分類して1冊に集約。本書の流れにそって一項目ずつ習得することで「高校で学ぶ数学」をマスターすることができます。先ほどは、すべて書き出して数えましたが、同じ文字を何度も書くのが少し大変ですね。先ほど書き出した内容をよく見ると、上の4つは、1番左が全部○で、下の4つは1番左が全部×です。これらをまとめて次のように書いてみます。左から2つ目も共通しているものがあるので、まとめてみます。すると、共通しているものがまとめられるので、文字を書く量が減っていいですね。樹形図を用いてすべてのケースを書き出すと、文字を書く量が減るだけではありません。数え方もわかりやすくなります。上半分と下半分をよく見ると、左から2つ目と3つ目の並び方はまったく同じことがわかります。そのため、並べ方は、2×(左から2つ目と3つ目の並べ方)となることがわかります。「2×」というのは、一番左が○のときと×のときの2セットある、ということです。同じように考えると、左から2つ目と3つ目の並べ方は、左から2つ目の決め方が2通りあって、左から3つ目の決め方も2通りあります。\]通りであることがわかります。樹形図をかけば、同じ構造になっている場所を見つけやすくなり、どのように数えればいいかがわかりやすくなります。この考え方がわかれば、「3つ並べる」の部分が変わっても、同じように数えられることが分かります。個並べる」場合に、どういう答えを出せばいいか、どういうコードを書けばいいかがわかるでしょう。以下の正の整数という制約であれば、次のようなコードで求められます(参考:整数の整数乗)。割った余りを答えることが多いです。100個並べるときでも正しい答えを出そうとすると、次のようになります(参考:余りの計算)。