問題概略
次の条件をみたす 8 ケタの整数は何個あるでしょうか。
- 1 ~ 8 までの数字を 1 回ずつ使う。
- 2 つの連続したケタを選んだとき,ある。
解説の pdf も作りました。きれいなレイアウトで読みたい方はこちらをどうぞ。
グループ分けして数える
まず 1~8 を空でない 2 つのグループ , に分けます。
この分け方は 通り。
次に , 内の数を小さいものから順に並べて , とします。
をみたすものを数えるより,余事象の方が数えやすいです。
をみたす が存在しないのは, が 1 から までの連続する数からなっているときです。
このような分け方は から までの 7 通り。
求める個数は の「247 通り」です。
各グループの最大値,最小値から数える
をみたす を選んでから , を作ることもできます。
- 1 ~ のうち 1 ~ は に入る
- は に入る
- ~ の 個は , のどちらに入ってもいい
この場合の , の作り方は 通りです。求める個数は次のようにして求められます。
\begin{align*}
\sum_{1\leqq b< a\leqq 8} 2^{a-b-1}=\sum_{a=2}^8 \sum_{b=1}^{a-1} 2^{a-b-1}=247
\end{align*}
漸化式を作る
文字の場合の個数を とおきます。, は明らか。
条件をみたす 文字の列から条件をみたす 文字の列を作る方法は 2 通りあります。
- 「, 」の部分を「, , 」に変える(= の右端に をおく)
- の右端に をおく
このようにしてできる 文字の列は 個。
他に : 文字の時点では条件をみたしていない列から条件をみたす 文字の列を作る方法もあります。
1 ~ を小さい方から並べた列に対して,図の のどこかに をおきます。
\begin{align*}
\wedge 1 \wedge 2 \wedge \cdots \wedge n
\end{align*}
このようにしてできる 文字の列は 個なので漸化式は次のようになります。
\begin{align*}
&f(1)=0\\
&f(n+1)=2f(n)+n\quad (n\geqq 1)
\end{align*}
一般項は で,この問題の答えは です。