第144回数学的な応募問題[3本のくじ]
答をn+2C3(=nH3),nC3(=n−2H3),n−2C3(=n−4H3),n−4C3(=n−6H3)となるようにするのであれば,
n個の整数1、2、3、・・・、nが書いてあるくじがそれぞれ沢山あり、区別がつかないとします。この中から同時に3本のくじを引くとき、次のようなくじの引き方は何通りありますか。ただし、n≧7とします。
問題1:3本のくじに書いてある数字のうち、どの2つの数の差も0以上となる場合。
問題2:3本のくじに書いてある数字のうち、どの2つの数の差も1以上となる場合。
問題3:3本のくじに書いてある数字のうち、どの2つの数の差も2以上となる場合。
問題4:3本のくじに書いてある数字のうち、どの2つの数の差も3以上となる場合。
とすればよいのではないでしょうか.
解いてみます.
n本のときのそれぞれの答をf(n)とし,差をs以上とする.
問題1:s=0であるから,GRAPESのスクリプトは
#
s:=0
# for a:=1 to n
# for b:=a+s to n
# for c:=b+s to n
#
答:=答+1
# draw
# next c
# next b
# next
a
これにより,
f(1)=1,f(2)=4,f(3)=10,f(4)=20,f(5)=35,f(6)=56,f(7)=84,f(8)=120,f(9)=165,f(10)=220,f(11)=286,f(12)=364
となるので,f(n)=n3/6+n2/2+n/3=n(n+1)(n+2)/6=n+2C3=nH3となる.
関数式を求める際には,path関数(複数個の点を通る曲線のグラフを求める),cof関数(項の係数を求める)を使用している.
尚この場合n≧0で十分である.
スクリプト実行中のアニメは大変興味深いものがあった.
問題2:問題1のスクリプトでs:=1とするだけである.
これにより,
f(0)=0,f(1)=0,f(2)=0,f(3)=1,f(4)=4,f(5)=10,f(6)=20,f(7)=35,f(8)=56,f(9)=84,f(10)=120,f(11)=165,f(12)=220
となるので,f(n)=n3/6−n2/2+n/3=n(n−1)(n−2)/6=nC3=n−2H3となる.
尚この場合n≧0で十分である.
問題3:問題1のスクリプトでs:=2とするだけである.
これにより,
f(2)=0,f(3)=0,f(4)=0,f(5)=1,f(6)=4,f(7)=10,f(8)=20,f(9)=35,f(10)=56,f(11)=84,f(12)=120
となるので,f(n)=n3/6−3n2/2+13n/3−4=(n−2)(n−3)(n−4)/6=n−2C3=n−4H3となる.
尚この場合n≧2で十分である.
問題4:問題1のスクリプトでs:=3とするだけである.
これにより,
f(4)=0,f(5)=0,f(6)=0,f(7)=1,f(8)=4,f(9)=10,f(10)=20,f(11)=35,f(12)=56
となるので,f(n)=n3/6−5n2/2+37n/3−20=(n−4)(n−5)(n−6)/6=n−4C3=n−6H3となる.
尚この場合n≧4で十分である.
さらに差が4以上の場合,s:=4とすればよく,
f(6)=0,f(7)=0,f(8)=0,f(9)=1,f(10)=4,f(11)=10,f(12)=20
となるので,f(n)=n3/6−7n2/2+73n/3−56=(n−6)(n−7)(n−8)/6=n−6C3=n−8H3(n≧6)となる.
差が5以上の場合,s:=5とすればよく,
f(8)=0,f(9)=0,f(10)=0,f(11)=1,f(12)=4
となるので,f(n)=n3/6−9n2/2+121n/3−120=(n−8)(n−9)(n−10)/6=n−8C3=n−10H3(n≧8)となる.
以上の事から,差がs以上のとき(s≧1),
n−2sH3=n−2s+2C3(n≧2s−2)
となる.