第50問の解答
1.問題 [場合の数]
(1)何人かの人から千円札の寄付を募ります。1人目は、1枚か2枚か3枚かのいづれかの枚数だけ寄付してくれました。
2人目以降の人は、前の人より多くはくれませんでした。この結果、寄付は千円札で30枚集まりました。
さて、このような寄付の集め方は何通りでしょうか?(2)集まった30枚の千円札を、成績優秀者3名に賞金として贈ることにしました。
勿論、2位の人の賞金は、1位の人より多くはなく、3位の人も2位の人より多くはありません。
(ただし、同額であることや、2位や3位が0枚ということも構わないことにします。)
このような配分の仕方は何通りでしょうか?
2.解答例0(あれふさん、ありさのお父さん)
(1)、(2)の答が同じになることを上図で示します。
上図のように、7人の人が千円札を3枚、2人の人が2枚、5人の人が1枚寄付してくれたとします。このとき、1位の人に千円札を14枚、2位の人に9枚、3位の人に7枚、賞金として贈ることが対応します。
すなわち、一般的に3枚、2枚、1枚だけ寄付した人の数がp,q,r(p≧q≧r≧0)に対して、1位の人に(p+q+r)枚、2位の人に(p+q)枚、3位の人にp枚贈ることが対応します。
このとき、3×p+2×q+r=30だから、(p+q+r)+(q+r)+r=30となります。逆に、1位の人にa枚、2位の人にb枚、3位の人にc枚、賞金を贈るとするとき(a≧b≧c≧0)、3枚寄付した人がc人、2枚寄付した人が(b−c)人、1枚寄付した人が(a−b)人いることに対応します。
このとき、a+b+c=30だから、3×c+2×(b−c)+(a−b)=30となります。以上から、(1)、(2)いづれのケースのある場合も他方のケースのある場合に対応するので、(1)、(2)の場合の数は同じである。
3.解答例1:数え上げによる解法(あれふさん、ありさのお父さん他多数)
(1)のケース
千円札を3枚、2枚、1枚寄付してくれる人数をa人、b人、c人とする。
a(0≦a≦30)に対して、既に3×a枚寄付してもらっているので、残りは(30−3×a)枚である。これが、奇数か偶数かによって、bのとりうる枚数の上限は異なってくる。そこで、ガウス記号[]([x]は、xを超えない整数で最大のもの。例えば、[1.2]=1、[2.0]=2)を使って表すと、bの上限=[(30−3×a)/2]となり、下限は0となる。従って、bのとりうる場合の数は、[(30−3×a)/2]+1となる。
よって、求める場合の数の合計は、これらを加えて、1+2+4+5+7+8+10+11+13+14+16=91通りとなる。
答:91通り
(2)のケース
p(15≦p≦30)に対して、既にp枚賞金として与えているので残りは(30−p)枚。
qの上限は、(30−p)枚と容易に分かる。下限のほうは、r=(30−p−q)≦qとなる必要があるので、[(30−p)/2]≦qより、下限は[(30−p+1)/2]と表される。また、p(0≦p≦14)のときは、qの上限値は、pそのものとなり、下限は、上記と同様である。
以上から、場合の数合計は、(1+1+・・・+8+8)+(7+5+4+2+1)=(1+8)×8+19=72+19=91通りとなる。
答:91通り
以上
4.解答例2:順列・組み合わせ的解法(中村明海さん他)
ここでは、(2)のケースを賞金合計をn枚として、一般的に求めてみることにしましょう。
まず、上位3人Aさん、Bさん、Cさんの賞金枚数をa枚、b枚、c枚として、a≧b≧cとはいう制限なしでa+b+c=nとなる組み合わせの数を求めます。
これは、3個の異なるものからn個とった重複組み合わせになりますので、3+n−1Cn=n+2C2=(n+2)×(n+1)/2通りになります。(ここの考え方は、例えば白石n個と黒石2個の(n+2)個を並べ、黒石を仕切りと見て白石を3人に配る配り方から求まります。)
次に、a,b,cに等しいものがあるかどうかについて場合分けをします。
- 3つとも等しい:
・nが3の倍数のとき ・・・1通り
・nが3の倍数でないとき・・・なし- 2つが等しい:
・nが3の倍数のとき ・・・m=[n/2]とするとき、等しいものの枚数は、0からmまでの(m+1)通りから3つ等しい場合を除くので、m通り。等しいものは、a,b,cから2個選ぶ組み合わせなので3通りあるので、結局m×3通りとなる。
・nが3の倍数でないとき・・・m=[n/2]とするとき、等しいものの枚数は、0からmまでの(m+1)通り、等しいものは、a,b,cから2個選ぶ組み合わせなので3通りあるので、結局(m+1)×3通りとなる。- 全て異なる:
さきほど求めた全組み合わせ数(n+2)×(n+1)/2通りから上記2ケースの組み合わせ数を除いたとなる。
・nが3の倍数のとき ・・・(n+2)×(n+1)/2−1−n×3通り
・nが3の倍数でないとき・・・(n+2)×(n+1)/2−(n+1)×3通り
さて、a≧b≧cの条件を加えた場合と上記の違いを考えると、
- 3つとも等しい:同じ
- 2つが等しい:a,b,cのうち、異なる数は2つで、この中から大きいものをaに制限するのだから上記の3分の1。
- 全て異なる:a,b,cが全て異なるので、これらの並び換えの6通りをa≧b≧cに制限するので、上記の6分の1。
よって、求める組み合わせ数は、次のとおりとなる。
・nが3の倍数のとき ・・・1+[n/2]+((n+2)×(n+1)/2−1−[n/2]×3)/6=5/6+[n/2]/2+(n+2)×(n+1)/12
・nが3の倍数でないとき・・・([n/2]+1)+((n+2)×(n+1)/2−([n/2]+1)×3)/6=1/2+[n/2]/2+(n+2)×(n+1)/12ここで、z(n)=1(nが3の倍数)、0(nが3の倍数以外)とおくと、上記式は、
f(n)=1/2+[n/2]/2+(n+2)×(n+1)/12+z(n)/3
と表される。以上