第144回数学的な応募問題[3本のくじ]
 答をn+2(=),(=n−2),n−2(=n−4),n−4(=n−6)となるようにするのであれば,

 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)=n/6+n/2+n/3=n(n+1)(n+2)/6=n+2となる.
 関数式を求める際には,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)=n/6−n/2+n/3=n(n−1)(n−2)/6=n−2となる.
 尚この場合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)=n/6−3n/2+13n/3−4=(n−2)(n−3)(n−4)/6=n−2n−4となる.
 尚この場合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)=n/6−5n/2+37n/3−20=(n−4)(n−5)(n−6)/6=n−4n−6となる.
 尚この場合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)=n/6−7n/2+73n/3−56=(n−6)(n−7)(n−8)/6=n−6n−8(n≧6)となる.

 差が5以上の場合,s:=5とすればよく,
  f(8)=0,f(9)=0,f(10)=0,f(11)=1,f(12)=4
となるので,f(n)=n/6−9n/2+121n/3−120=(n−8)(n−9)(n−10)/6=n−8n−10(n≧8)となる.

 以上の事から,差がs以上のとき(s≧1),
  n−2sn−2s+2(n≧2s−2)
となる.