![戻る](../back2.gif) |
007 |
平成19年度前期 |
京都大学 |
理系・乙 |
・・・ |
場合の数 |
標準 |
この問題は、教科書や参考書で見かけたことがあると受験生全員が多分思ったことだろ
う。ただ少しだけ、知っている解法からひねってある。そこに気がつけば、この問題は、「易」
に分類されるレベルだろう。(→参考:フィボナッチ数列)
京都大学 理系・乙(2007)
1歩で1段または2段のいずれかで階段を昇るとき、1歩で2段昇ることは連続しないもの
とする。15段の階段を昇る昇り方は何通りあるか。
(解) n 段の階段を上記のような昇り方で昇る場合の数を、an (通り)とおく。
明らかに、 a1 =1 、a2 =2 (1段ずつ、または、2段) 、
a3 =3 (1段ずつ、または、1段と2段、または、2段と1段)
n≧4 のとき、次の何れかの場合が起こり、互いに排反である。
(イ) 最初の1歩で1段昇るとき、残りの n−1 段の昇り方の総数は、an−1 (通り)
(ロ) 最初の1歩で2段昇るとき、次の1歩は1段昇り、残りの n−3 段の昇り方の総数
は、an−3 (通り)
よって、 an = an−1 + an−3 (n≧4) が成り立つ。
この漸化式により、順次 an を求めて、
a4 = a3 + a1 = 3+1 = 4
a5 = a4 + a2 = 4+2 = 6
a6 = a5 + a3 = 6+3 = 9
a7 = a6 + a4 = 9+4 = 13
a8 = a7 + a5 = 13+6 = 19
a9 = a8 + a6 = 19+9 = 28
a10 = a9 + a7 = 28+13 = 41
a11 = a10 + a8 = 41+19 = 60
a12 = a11 + a9 = 60+28 = 88
a13 = a12 + a10 = 88+41 = 129
a14 = a13 + a11 = 129+60 = 189
a15 = a14 + a12 = 189+88 = 277
以上から、15段の階段を昇る昇り方は、277通りある。 (終)
(コメント) 漸化式は直ぐに作れるが、その後の計算が何となく泥臭い。もっとエレガントな
解法はないものだろうか?
(追記) 平成19年3月4日付け
当HPがいつもお世話になっているらすかるさんから、別解を頂いた。15段のうち
の丁度真ん中の8段目の動向に注目するのがポイントのようだ。
(別解) 8段目の起こりうる場合として次の3通りあり、それらは互いに排反である。
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
A |
・・・・・・・・・・・・・・・・・・・・・ |
1 |
・・・・・・・・・・・・・・・・・・・・・ |
B |
・・・・・・・・・・・・・・・・・・ |
1 |
2 |
1 |
・・・・・・・・・・・・・・・ |
C |
・・・・・・・・・・・・・・・ |
1 |
2 |
1 |
・・・・・・・・・・・・・・・・・・ |
|
Aという場合の数は、 a7×a7=13×13=169
Bという場合の数は、 a6×a5=9×6=54
Cという場合の数は、 a5×a6=6×9=54
以上から、15段の階段を昇る昇り方は、
169+54+54=277 (通り) ある。 (終)
(コメント) なるほど!スッキリしますね...。 らすかるさんに感謝します。
でも、実際の本番だったら、泥臭くても漸化式で押し切るのかな?
次のように考えてもいいようだ。(この考え方で解くことを想定していれば、問題の不自
然とも思える条件は、実は解答を考えやすくしているということに気づかされる。これは京
都大学の作問者の温情なのだろうか?)
(別解) 1段昇ることを「A」、2段昇ることを「B」と表すと、求める場合の数は、
Bが隣り合わないような、AとBの順列の総数
である。 よって、
Bが0個のとき、 A・・・・・・・A(Aが15個)という場合は、1通り
Bが1個のとき、 A・・・・・・・A(Aが13個)の並びにBを挿入する場合の数は、
14C1=14 (通り)
Bが2個のとき、 A・・・・・・・A(Aが11個)の並びにBを挿入する場合の数は、
12C2=66 (通り)
Bが3個のとき、 A・・・・・・・A(Aが9個)の並びにBを挿入する場合の数は、
10C3=120 (通り)
Bが4個のとき、 A・・・・・・・A(Aが7個)の並びにBを挿入する場合の数は、
8C4=70 (通り)
Bが5個のとき、 A・・・・・・・A(Aが5個)の並びにBを挿入する場合の数は、
6C5=6 (通り)
以上から、15段の階段を昇る昇り方は、
1+14+66+120+70+6=277 (通り) ある。 (終)
(コメント) 解法的に、どちらが優れているのだろう?
当HPがいつもお世話になっているHN「FN」さんが上記話題について考察された。
(平成23年12月8日付け)
上記では、解が3通り書いてある。実際の入試で正解した人の多くは、解1によるだろうと
思うが、解2や解3による人もあったであろう。第4の解を思いついたわけではない。解2や
解3のやり方を一般化し、「1歩で2段昇ることは連続しないものとする」をはずして、フィボ
ナッチ数列の性質を導こうと思う。
「1歩で2段昇ることは連続しないものとする」という条件で、n段を昇る昇り方を、an とす
るとき、解1にあるように次の漸化式が成り立つ。
an+3 = an + an+2 、a1=1 、a2=2 、a3=3
これを使って、a4、a5、・・・、a15 を求めていけばよいのだが、それを一工夫しようというの
が解2で、全く違う考え方でやるのが解3である。
解2を一般化して、次の式が成り立つ。
a2n+1 = an2 + 2an-1an-2
「a2n=・・・」とか「an+m=・・・」とかの式もできるが、省略して、フィボナッチ数列を考える。
「1歩で2段昇ることは連続しないものとする」をはずした場合の昇り方を
bn とする。bn は
次の漸化式を満たす。
bn+2 = bn + bn+1 、b1=1 、b2=2
漸化式は、フィボナッチ数のものと同じだが、初期条件が少し違う。
an+1=bn とおけば、an はフィボナッチ数列である。
bn について、解2と同じ考え方をすると、次の式が成り立つ。
b2n+1 = bn2 + 2bnbn-1=(bn + bn-1)2 − bn-12 = bn+12 − bn-12
b2n = bnbn-1 + bnbn-2 + bn-12 = bn2 + bn-12
bn+m = bnbm-1 + bn-1bm-1 + bnbm-2 = bnbm + bn-1bm-1
これらの式を、an+1=bn によって、フィボナッチ数列の式に直すと、それぞれ「フィボナッ
チ数を極める」の(性質7)(性質15)(性質5)になる。
(性質7)(性質15)は(性質5)の特殊化である。(性質5)は、フィボナッチ数列の性質におい
て重要な役割をしているが、数学的帰納法による証明では、どのようにしてこの式が得られ
たのかがわからなかったが、階段の昇り方で、解2の形で考えれば、自然に得られることが
わかったのは意味があると思う。解2の方法は、ちょっとした思いつきかと思ったがそうでは
なくて、本質的な方法のようだ。
「フィボナッチ数を極める」で、攻略法さんがやられている、例えば、a40、a41 を求める考
え方と同じである。an を、n の半分のあたりでの値を使って書こうということである。だから
解2は、解1での方向での計算の短縮としては多分最善であるだろうと思う。
解3を一般化すると、次のようになる。
an = n+1C0 + n-1C1 + n-3C2 + ・・・・ + n+1-2rCr ただし、r=[(n+1)/3]
「1歩で2段昇ることは連続しないものとする」をはずして、bn の関係式にすると、組合せ
が重複組合せに変わって、次のようになる。
bn = n+1H0 + n-1H1 + n-3H2 + ・・・・ + n+1-2rHr ただし、r=[n/2]
ここで、 n+1-2kHk = n+1-2k+k-1Ck = n-kCk であるから
bn = nC0 + n-1C1 + n-2C2 + ・・・・ + n-rCr ただし、r=[n/2]
bn はフィボナッチ数列の第n+1項 an+1 であるから、これは「フィボナッチ数を極める」
の(性質24)である。攻略法さんが碁石の並べ方を使ってされてる証明と実質的に同じだろ
うと思いますが確認できてません。