第50問の解答


1.問題 [場合の数

(1)何人かの人から千円札の寄付を募ります。1人目は、1枚か2枚か3枚かのいづれかの枚数だけ寄付してくれました。
2人目以降の人は、前の人より多くはくれませんでした。この結果、寄付は千円札30枚集まりました。
さて、このような寄付の集め方は
何通りでしょうか?

(2)集まった30枚千円札を、成績優秀者3名に賞金として贈ることにしました。
勿論、2位の人の賞金は、1位の人より多くはなく3位の人も2位の人より多くはありません。
(ただし、同額であることや、2位や3位が0枚ということも構わないことにします。)
このような配分の仕方は
何通りでしょうか?


2.解答例0(あれふさん、ありさのお父さん

参考図1

 (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位の人に枚贈ることが対応します。
このとき、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)枚である。これが、奇数か偶数かによって、のとりうる枚数の上限は異なってくる。そこで、ガウス記号[]([x]、xを超えない整数最大のもの。例えば、[1.2][2.0]2)を使って表すと、bの上限[(30−3×a)/2]となり、下限は0となる。従って、のとりうる場合の数は、[(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)のときは、上限値は、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−1n+2(n+2)×(n+1)/2通りになります。(ここの考え方は、例えば白石n個と黒石2個(n+2)個を並べ、黒石を仕切りと見て白石を3人に配る配り方から求まります。)

次に、a,b,cに等しいものがあるかどうかについて場合分けをします。

  1. 3つとも等しい:
    nが3の倍数のとき  ・・・1通り
    nが3の倍数でないとき・・・なし
  2. 2つが等しい:
    nが3の倍数のとき  ・・・m=[n/2]とするとき、等しいものの枚数は、0からまでの(m+1)通りから3つ等しい場合を除くので、m通り。等しいものは、a,b,cから2個選ぶ組み合わせなので3通りあるので、結局m×3通りとなる。
    nが3の倍数でないとき・・・m=[n/2]とするとき、等しいものの枚数は、0からまでの(m+1)通り、等しいものは、a,b,cから2個選ぶ組み合わせなので3通りあるので、結局(m+1)×3通りとなる。
  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の条件を加えた場合と上記の違いを考えると、

  1. 3つとも等しい:同じ
  2. 2つが等しい:a,b,cのうち、異なる数は2つで、この中から大きいものをに制限するのだから上記の3分の1。
  3. 全て異なる: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)=13の倍数)、3の倍数以外)とおくと、上記式は、
 f(n)=1/2+[n/2]/2+(n+2)×(n+1)/12+z(n)/3
と表される。

n=1..30

以上