駿台予備学校が首都圏のJRに掲示した、受験生への応援メッセージの中に、若月一模先生が出した数学Aの問題がありました。
https://em-tr271.com/L90494/b300/115911
この問題がSNSにおいて評判になっているのですが、「難問」として小学生・中学生にも出せそうな気がします。
その問題は、
「GAKKOUの6文字を並び替えてできる360個の文字列を辞書式に並べるとき、100番目の文字列を求めよ」
というものです。
私なりに解いてみました。体力?派です。
元の文字は「GAKKOU」。
辞書式というのは、アルファベット順ということです。
まず、
「先頭の文字がAの場合」
先頭から2文字の場合の組み合わせを考えます。
AG・・・・の場合 12通り
AGKKOU
AGKKUO
AGKOKU
AGKOUK
AGKUKO
AGKUOK
AGOKKU
AGOKUK
AGOUKK
AGUKKO
AGUKOK
AGUOKK
AO・・・・の場合
と
AU・・・・の場合
も、それぞれ 12通り
AK・・・・
の場合は、AKの次はKGOUの4通りで、重複しない組み合わせなので、
4×3×2×1=24通り
計 12+12+12+24=60通り
次に、「先頭の文字がGの場合」
これも60通りです。
これでは、100通りを超えてしまうので、先頭がGの場合を細かく見ていく必要があります。
GA・・・・の場合
12通り
GK・・・・の場合
24通り
これで96通りです。
その次は
GO・・・・の場合
です。
アルファベット順には、次のように並びます。
GOAKKU(97番目)
GOAKUK(98番目)
GOAUKK(99番目)
GOKAKU(100番目)
そう、ちょうど100番目は「GOKAKU」(合格)なのです。
なんとも、受験生には励みになる問題だったと思います。
すごい!
ちなみに、ウェブでは、こんな解き方をしている人がいました。
■解いてみた
・ABCD…のアルファベット順でGAKKOUを置き換えます。Aは最初(1番目)だから1、BCDEFがないのでGは2番目、そう考えるとKは3、Oは4、Uは5となり、GAKKOUは213345と表せます。
・A(1)で始まる6桁を考えます。A(1)以下の組み合わせは、5×4×3×2×1=120ですが、Kが二つあるので、120を2で割って60。これがA(1)で始まる文字列の数です
・同じようにG(2)で始まる6桁を考えます。G(2)以下の組み合わせは、5×4×3×2×1=120ですが、Kが二つあるので、120を2で割って60。これがG(2)で始まる文字列の数ですが、A(1)で始まる分を合わせると、120になってしまい100を超えてしまいます。
・少し戻って最初はG(2)、次はA(1)で始まる6桁を考えます。組み合わせは4×3×2×1=24ですが、やはりKが二つあるので、24を2で割って12。これがG(2)、A(1)で始まる文字列の数です。
・同じように最初はG(2)、次はK(3)で始まる6桁を考えます。組み合わせは4×3×2×1=24ですが、今回はKはひとつ使っているので割る必要はありません。24がG(2)、K(3)で始まる文字列の数です。
・これまでの計算で分かった60、12、24を足すと、96通りまで見えてきました。23(GK)で始まり、最も大きい数、235431が96番目です。
・97番目以降は24(GO)で始まる数を考えます。241335が97番目、241353が98番目、241533が99番目…ゴールが見えてきました。
・100番目は243135 アルファベットに置き換えるとGOKAKU、合格です!