ガウスの記号                         戻る 

 私が高校生の頃、新鮮に感じた関数がある。それまで関数といえば、すべて連続関数で
あった。多分、不連続な関数との最初の出会いだったと思う。
 たしか、それは数学V(現行の数学Vとは比べものにならない位、魅力的な話題が豊富
であった!) の授業のときであった。先生が、黒板に次のような問題を出された。

問題  関数 Y=[X] のグラフを描け。但し、[X] は、X を越えない最大の整数を表す。

 [X] は、ガウスの記号といわれる。最初の頃、『 X を越えない最大の整数』 という文言
がよく理解できなかった。しかし、

  [X]=n  n≦X<n+1

という不等式で、了解できた。この不等式によれば、[3.14]=3、[0]=0、[−π]=−4
は、明らかである。頭の中に、次のような数直線を想起してもよい。

 

 不等式を利用して、関数 Y=[X] のグラフは容易に描くことができる。

 

 定義域を有限の範囲に限定すれば、この関数は、階段関数(または単純関数)の1つの
例を与えている。(一般に、単純関数とは、値域が有限集合のものをいう。)任意の関数は、
単純関数で近似できるという定理などもあり、単純関数は、Lebesgue積分論において、
基本的な役割を果たしている。(高校で学ぶ積分は、Riemann積分論のごく一部で、これ
を新しい視点で構成し直したものが、Lebesgue積分論である。)

 関数 Y=[X] は、無限個の点(X=整数のとき)で、不連続である。
ところが、世の中には、もっとすごい関数がある。

 

 この関数は、ワイエルシュトラス(Weierstrass)の関数といわれ、到るところ不連続
である。『到るところ不連続』といわれても、そのグラフは想像すらできない。

 ガウスの記号 [X] には、 [X]=n  n≦X<n+1 という性質以外に、次
のような性質がある。

(1) 任意の実数 X、Y に対して、 [X]+[Y]≦[X+Y]

(2) 任意の実数 X と整数 N に対して、 [X+N]=[X]+N

(3) 有理数 B/A (A、Bは互いに素な自然数)で、

 B=A・q+R (q 、Rは0以上の自然数で、0≦R<A)

のとき、 [B/A]=q 、 [B/A2]=[[B/A]/A]

(証明)(1) [X]=m 、[Y]=n とおくと、 m≦X<m+1 、n≦Y<n+1

 このとき、 m+n≦X+Y<m+n+2 より、 [X+Y]=m+n または、m+n+1

 よって、 [X]+[Y]≦[X+Y] が成り立つ。

(2) [X]=m とおくと、 m≦X<m+1 なので、 m+N≦X+N<m+N+1

 よって、 [X+N]=m+N=[X]+N が成り立つ。

(3) B=A・q+R (0≦R<A) より、 B/A=q+R/A で、 0≦R/A<1

 よって、 q≦q+R/A<q+1 より、 [B/A]=q が成り立つ。

 また、 B/A=q+R/A より、 B/A2=q/A+R/A2

 ここで、0以上の自然数 q’と R’を用いて、 q=Aq’+R’ (0≦R’<A)と書くとき、

 B/A2=q/A+R/A2=q’+R’/A+R/A2=[[B/A]/A]+R’/A+R/A2

 このとき、 0≦R’/A+R/A2<(A−1)/A+A/A2=1 (← 上手い!)なので、

 [B/A2]=[[B/A]/A]

が成り立つ。 (証終)

 ガウスの記号は、とっつきにくい反面、その応用は、とても魅力的である。
ひとつの応用例をあげよう。

例 自然数 N の階乗( N!)の中に、素数 P は何個含まれているか?

 今の世の中では、計算といえば電卓と相場が決まっているが、このような問題に対して、
電卓は、非常に無力である。10桁の電卓だと、14!=6,227,020,800 が精一杯
である。市販されている関数電卓では、69!までは計算できるが、指数表示なので、この
問題には使えない。

 この問題は、ガウスの記号を用いると、簡単に解決される。

 例えば、10!=10・9・8・7・6・5・4・3・2・1=3,628,800 の中に、素数 2 が何個
含まれているか見てみよう。

 2 を含む因数は、2 の倍数である 2,4,6,8,10 の5個ある。
  2=2・1 で、1個 2 が含まれている。
  4=2・2 で、2個 2 が含まれている。
  6=2・3 で、1個 2 が含まれている。
  8=2・2・2 で、3個 2 が含まれている。
 10=2・5 で、1個 2 が含まれている。
 以上の計算から、10!には、素数 2 が 8 個含まれていることが分かる。

このような計算を一般化するために、次のような表を作ってみよう。

10   意味
・・・・・ 10以下の 2 の倍数の個数
      ・・・・・ 10以下の 4 の倍数の個数
        ・・・・・ 10以下の 8 の倍数の個数
   

 自然数 N を、P で割った商を、m、余りを、n とすると、

 N 以下の P の倍数は、m 個

ある。ところで、割り算の等式から、

 N=P・m+n  ( 0≦ n <P )

したがって、

 

が成り立つ。
 この記法を用いれば、上記の問題は、次のように計算してもよいことになる。

 

 以上を一般化して、次の公式を得る。

 自然数 N の階乗( N!)の中に、素数 P は次の個数含まれる。

 

 また、この値は次のように評価される。

 

 証明は、易しい。

(証明) [N/P]≦N/P 、[N/P2]≦N/P2 、[N/P3]≦N/P3 、・・・ より、

   左辺≦N/P+N/P2+N/P3+・・・=N/P{1/(1−1/P)}=N/(P−1)  (証終)

 厳密には、

 自然数 N の階乗( N!)の中に、素数 P は次の個数含まれる。

 


(ただし、N の P 進法展開を、stu・・・ とする。)

である。このことを次に考えよう。

 個数を求める上記の公式は、次のように変形されて用いられる。

    とおくとき、求める個数は、

 

この記法で、再度問題の答えを計算してみると、

 

となる。

 ところで、10 → 5 → 2 という計算を見ていると、10 を 2進数に転換する計算との類
似性に気がつく。すなわち、

 

 したがって、10!の中に、素数 2 が何個含まれているかを計算する場合、10 を 2進数
に転換する計算をして、その中の赤字の部分の和を求めてもよい。

 さらに、上記の計算から、10 の 2進法展開は、1010 なので、

 10=1・23+0・22+1・2+0・1

両辺を 2 で割って、その商を a とすると、 a=1・22+0・2+1

さらに、両辺を 2 で割って、その商を b とすると、 b=1・2+0

さらに、両辺を 2 で割って、その商を c とすると、 c=1

 したがって、
=a+b+c=1・(22+2+1)+0・(2+1)+1・1
    
    
    

上記の計算と同様にして、次の公式が得られることが分かる。

 自然数 N の階乗( N!)の中に、素数 P は次の個数含まれる。

 


(ただし、N の P 進法展開を、stu・・・ とする。)

(例) 100!は、末尾に 0 が何個続くか?

 100 の2進法展開は、1100100 なので、100!の中に素数 2 は、100−3=97 個
含まれる。
 100 の5進法展開は、400 なので、100!の中に素数 5 は、(100−4)/4=24 個
含まれる。
 したがって、100!の中に、10 は、24 個含まれるので、100!は、末尾に 0 が24 個
続く。

実際に、表計算ソフト Excel の助けを借りて、100!を計算すれば、次のような値となる。

93326 21544 39441 52681 69923 88562 66700 49071 59682 64381 62146 85929
63895 21759 99932 29915 60894 14639 76156 51828 62536 97920 82722 37582
51185 21091 6864
0 00000 00000 00000 00000 000

 確かに、0 が24個並んでいることが分かる。

このような大変な計算をしなくても、ガウスの記号を用いると、簡単な四則計算で同じものが
求められるということに感動を覚える。ガウスの偉大さが、ひしひしと感じられる。

(注) 各自然数Nに対して、その階乗 N!を返す関数 F および関連する関数は、VBAを
用いて次のように記述される。

Function s1(a As String, b As String, c As Single) As String
 If a = "" Then
  If c = 0 Then s1 = "" Else s1 = c
 Else
 t = Val(Right(a, 1)) + Val(Right(b, 1)) + c
 s1 = s1(Left(a, Len(a) - 1), Left(b, Len(b) - 1), Int(t / 10)) & (t Mod 10)
 End If
End Function

Function s(a As String, b As String)
 Dim aa As String
 Dim bb As String
 aa = a
 bb = b
 If Len(aa) > Len(bb) Then bb = String(Len(aa) - Len(bb), "0") & bb
 If Len(aa) < Len(bb) Then aa = String(Len(bb) - Len(aa), "0") & aa
 s = s1(aa, bb, 0)
End Function

Function d(a As String) As String
 While Left(a, 1) = "0"
 a = Right(a, Len(a) - 1)
 Wend
 If a = "" Then d = "0" Else d = a
End Function

Function m(a As String, b As String) As String
 If b = "" Then m = "": Exit Function
 For i = 1 To Val(Right(b, 1))
  m = s(m, a)
 Next i
 m = d(s(m(a, Left(b, Len(b) - 1)) & "0", m))
End Function

Function F(n)
 If n = 0 Then F = 1 Else F = m(Str(n), F(n - 1))
End Function

(上記のVBAについては、吉岡章夫さんより、ご教示いただいたもので、高精度の演算結
果を知りたい場合に有効である。私の貴重な宝物である。)

    Excel を起動し、[ツール]−[マクロ]−[Visual Basic Editor] とクリックして
   Editor を起動し、[挿入]−[標準モジュール] を選択して、上記を記述すればよい。
   後は、Excelの任意のセルに、例えば、 =F(5) と打ち込むと、瞬時に、120 と
   いう値が返される。因みに、F(5)=5・4・3・2・1=120 である。

(参考文献:田島一郎 著 整数 (共立出版))


 N!の中に素数 P が幾つ含まれるかは、大学入試問題でも散見される。

早稲田大学 教育学部(2008年)

 n を自然数とする。219!は2で割り切れるが、2n+1では割り切れないとすると、
n=(  )である。

(解) 219÷2=109・・・1 、109÷2=54・・・1 、54÷2=27・・・0

 27÷2=13・・・1 、13÷2=6・・・1 、6÷2=3・・・0 、3÷2=1・・・1

よって、 109+54+27+13+6+3+1=213 より、

 219!の中に素数2は、213個含まれていることが分かる。

したがって、求める n の値は、 213 である。  (終)


(コメント) この問題は、第1問の(1)の問題であるが、上記の公式を知らないと解けないの
    ではないかと思う。受験テクニックとして、必ずマスターすべき考え方なのだろう。


(追記) ガウスの記号を用いて、 の無理数性が示されることを、最近、広島工業大学
    の大川研究室のホームページで学んだ。通常は、既約分数で表して、矛盾を導く方
    法が一般的だが、ガウスの記号を用いたエレガントな解法に、とても美しさを感じた。

 今、 が有理数であるとする。明らかに、 は整数ではない。このとき、・n が整数
となるような、最小の自然数 n が存在する。
 ここで、( −[ ])・n =m とおくと、m は整数で、0< −[ ]<1 から、

 0 < m < n

が成り立つ。このとき、・m=2・n−[ ]・(・n) は整数となる。
 これは、n が、・n が整数となるような最小の自然数であることに矛盾する。
 よって、 は、無理数である。 (詳しくは、こちらを参照)


(追記) ガウスの記号 [X] は、数学の世界では重宝する記号であるが、この呼び名は日本
  固有のものらしい。

 最近では、小数点以下切り捨ては、記号  で表し、「Xのfloor(床)」と呼ぶことが多い
そうだ。
 ちなみに、小数点以下切り上げは、記号 で表され、「Xのceiling(天井)」と呼ぶらしい。


(参考文献:根上生也、中本敦浩 著 基礎数学力トレーニング (日本評論社))

 欧米の数学教科書では、ガウスの記号は既に廃れていて、代わりに「床」関数とか「天井」
関数が使われているらしい。

例 ガウスの記号を用いて、

 

と表される数式は、 an+1=2a−an-floor(1/2+√(2n)) とも表される。 (→ 参考例


 ガウスの記号に関する大学入試問題も数多い。

奈良女子大学 理学部・生活環境学部(1998年)

 実数 x に対して、その整数部分を [ x ] で表す。すなわち、[ x ] は不等式

 [ x ] ≦ x <[ x ] +1

を満たす整数である。

(1) 実数 x に対して、等式 [ x ] +[ x+1/3 ] +[ x+2/3 ] =[ 3x ]  を示せ。

(2) 正の整数 n 、実数 x に対して、

 等式 [ x ] +[ x+1/n ] +[ x+2/n ] +・・・+[ x+(n−1)/n ] =[ nx ]  を示せ。

(解)(1) [ 3x ]=m とおくと、 m≦3x<m+1 である。

 m=3k のとき、 k≦x<k+1/3 なので、

  [ x ] +[ x+1/3 ] +[ x+2/3 ] =k+k+k=3k=m=[ 3x ]

 m=3k+1 のとき、 k+1/3≦x<k+2/3 なので、

  [ x ] +[ x+1/3 ] +[ x+2/3 ] =k+k+k+1=3k+1=m=[ 3x ]

 m=3k+2 のとき、 k+2/3≦x<k+1 なので、

  [ x ] +[ x+1/3 ] +[ x+2/3 ] =k+k+1+k+1=3k+2=m=[ 3x ]

 以上から、何れにしても、[ x ] +[ x+1/3 ] +[ x+2/3 ] =[ 3x ]  が成り立つ。

(2) [ nx ]=m とおくと、 m≦nx<m+1 である。

 m=nk+h (h=0、1、2、・・・、n−1) のとき、k+h/n≦x<k+(h+1)/n なので、

 k+(h+t)/n≦x+t/n<k+(h+t+1)/n

よって、 h+t+1≦n すなわち、 0≦ t ≦n−h−1 のとき、

 k≦x+t/n<k+1 なので、 [ x+t ] =k

 h+t≧n すなわち、 n−h≦t≦n−1 のとき、

 k+1≦x+t/n<k+2 なので、 [ x+t ] =k+1

したがって、 n−1−(n−h)+1=h なので、

 [ x ] +[ x+1/n ] +[ x+2/n ] +・・・+[ x+(n−1)/n ]

=(n−h)k+h(k+1)=nk+h=m=[ nx ]

が成り立つ。  (終)


 上記の問題の出典は、おそらく相当昔の名古屋市立大学の次の問題だろう。

 任意の実数 x に対して、不等式 a≦x<a+1 を満たす整数 a を記号 [ x ] で表す。実

数 x および正の整数 n が与えられたとき、

(1) 不等式 [ x ] +k/n≦ x <[ x ] +(k+1)/n を満たす整数 k が存在することを示せ。

(2) 等式 [ x ] +[ x+1/n ] +[ x+2/n ] +・・・+[ x+(n−1)/n ] =[ nx ]  が成立す
  ることを証明せよ。

(解)(1) 区間 [ x ] ≦ x <[ x ] +1 を n 等分する。

 [ x ] ≦ x <[ x ] +1/n、[ x ] +1/n≦ x <[ x ] +2/n、・・・、

[ x ] +(n−1)/n≦ x <[ x ] +1

x はこのどれかの区間に含まれるから、ある整数 k (0≦k≦n−1)が存在して、

 [ x ] +k/n≦ x <[ x ] +(k+1)/n

(2) (奈良女子大学の(2)と同様)  (終)


 早稲田大学 理工学部(2009年)で出題されている問題も面白そうだ。

 実数 x に対して、x 以下の最大の整数を [ x ] で表す。以下の問いに答えよ。

(1) 14/3<x<5 のとき、[ 3x/7 ]− [ 3[ x ]/7 ] を求めよ。

(2) すべての実数 x について、[ x/2 ]− [ [ x ]/2 ]=0 を示せ。

(3) n を正の整数とする。実数 x について、[ x/n ]− [ [ x ]/n ] を求めよ。

(解)(1) 14/3<x<5 より、 2<3x/7<15/7<3 なので、 [ 3x/7 ]=2

 また、 4<14/3<x<5 より、 [ x ]=4 なので、 [ 3[ x ]/7 ]=[ 12/7 ]=1

 よって、 [ 3x/7 ]− [ 3[ x ]/7 ]=2− 1=1

(2) [ x ] =2m (mは整数) のとき、2m≦x<2m+1 なので、 m≦x/2<m+1/2

このとき、 [ x/2 ]− [ [ x ]/2 ]=m−[ m ]=m−m=0

[ x ] =2m+1 (mは整数) のとき、2m+1≦x<2m+2 なので、m+1/2≦x/2<m+1

このとき、 [ x/2 ]− [ [ x ]/2 ]=m−[ m+1/2 ]=m−(m+[ 1/2 ])=m−m=0

以上から、何れにしても、 [ x/2 ]− [ [ x ]/2 ]=0 が成り立つ。

(3) [ x ] =nk+r (k、r は整数で、0≦r<n) のとき、nk+r≦x<nk+r+1 なので、

 k≦k+r/n≦x/n<k+(r+1)/n≦k+1

このとき、 [ x/n ]− [ [ x ]/n ]=k−[ k+r/n ]=k−k=0  (終)


 上記の(解)では、[ x ] の剰余で分類して解を導いたが、次のような別解も考えられる。

(別解)(1)は上記と同じ。

(2) [ [ x ]/2 ]=[ x ]/2 または ([ x ]−1)/2 なので、

 ([ x ]−1)/2≦[ [ x ]/2 ]≦[ x ]/2

すなわち、 [ x ]≦x<[ x ]+1 より、 x−1<[ x ] 、 [ x ]≦x を用いて

 x/2−1<([ x ]−1)/2≦[ [ x ]/2 ]≦[ x ]/2≦x/2

よって、 x/2−1<[ [ x ]/2 ]≦x/2 ・・・(*)

また、 x−1<[ x ]≦x より、 x/2−1<x/2−1/2<[ x ]/2≦x/2 なので、

 −x/2≦−[ x ]/2<−x/2+1 ・・・(**)

(*)と(**)を辺々加えて、 −1<[ [ x ]/2 ]−[ x ]/2<1

[ [ x ]/2 ]−[ x ]/2 は整数であるので、 [ [ x ]/2 ]−[ x ]/2=0

(3) (2)と同様に考えて、[ [ x ]/n ]=[ x ]/n 、([ x ]−1)/n 、・・・、([ x ]−n+1)/n

なので、 ([ x ]−n+1)/n≦[ [ x ]/n ]≦[ x ]/n

すなわち、 [ x ]≦x<[ x ]+1 より、 x−1<[ x ] 、 [ x ]≦x を用いて

 x/n−1<([ x ]−n+1)/n≦[ [ x ]/n ]≦[ x ]/n≦x/n

 よって、 x/n−1<[ [ x ]/n ]≦x/n ・・・(*)

 また、 x−1<[ x ]≦x より、 x/n−1<x/n−1/n<[ x ]/n≦x/n なので、

 −x/n≦−[ x ]/n<−x/n+1 ・・・(**)

(*)と(**)を辺々加えて、 −1<[ [ x ]/n ]−[ x ]/n<1

 [ [ x ]/n ]−[ x ]/n は整数であるので、 [ [ x ]/n ]−[ x ]/n=0  (終)


 ガウスの記号の意味が分かってしまえば何でもないが、慣れていない人にとってはとてつ
もなく難しく感じるらしい。同じ問題でも、ガウスの記号を用いただけで難度は上がる。多分
入試問題でガウスの記号が使われるのは出題者側の論理だろう。受験生を「びびらせる」
ために...。

 ただ次の問題は、そんな風情を感じさせない位に、よく考えられた良問だと思う。

 東京大学前期 理系(1998年)

 実数 a に対して、k≦a<k+1 を満たす整数 k を [ a ] で表す。n を正の整数として、

 

とおく。36n+1個の整数

 [ F(0) ] 、[ F(1) ] 、[ F(2) ] 、・・・、[ F(36n) ]

のうち相異なるものの個数を n を用いて表せ。


 n=1 として、実際に 37個の値を求めてみた。
(受験場で、黙々と実行する方がもしかしたら...いるかも?幾ばくかの部分点はもらえる
 かもしれない。)

 F(x)=x2(54−x)/864 について、

F(n) [ F(n)] 個数
0 0.00 0 1
1 0.06 0
2 0.24 0
3 0.53 0
4 0.93 0
5 1.42 1 2
6 2.00 2 3
7 2.67 2
8 3.41 3 4
9 4.22 4 5
10 5.09 5 6
11 6.02 6 7
12 7.00 7 8
13 8.02 8 9
14 9.07 9 10
15 10.16 10 11
16 11.26 11 12
17 12.38 12 13
18 13.50 13 14
19 14.62 14 15
20 15.74 15 16
21 16.84 16 17
22 17.93 17 18
23 18.98 18 19
24 20.00 20 20
25 20.98 20
26 21.91 21 21
27 22.78 22 22
28 23.59 23 23
29 24.33 24 24
30 25.00 25 25
31 25.58 25
32 26.07 26 26
33 26.47 26
34 26.76 26
35 26.94 26
36 27.00 27 27

 以上から、n=1のとき、求める個数は、27個であることが分かる。

 同様に、n=2 のときも求めてみよう。

 F(x)=x2(108−x)/3456 について、

F(n) [ F(n)] 個数
0 0.00 0 1
1 0.03 0
2 0.12 0
3 0.27 0
4 0.48 0
5 0.75 0
6 1.06 1 2
7 1.43 1
8 1.85 1
9 2.32 2 3
10 2.84 2
11 3.40 3 4
12 4.00 4 5
13 4.65 4
14 5.33 5 6
15 6.05 6 7
16 6.81 6
17 7.61 7 8
18 8.44 8 9
19 9.30 9 10
20 10.19 10 11
21 11.10 11 12
22 12.04 12 13
23 13.01 13 14
24 14.00 14 15
25 15.01 15 16
26 16.04 16 17
27 17.09 17 18
28 18.15 18 19
29 19.22 19 20
30 20.31 20 21
31 21.41 21 22
32 22.52 22 23
33 23.63 23 24
34 24.75 24 25
35 25.88 25 26
36 27.00 27 27
37 28.12 28 28
38 29.25 29 29
39 30.37 30 30
40 31.48 31 31
41 32.59 32 32
42 33.69 33 33
43 34.78 34 34
44 35.85 35 35
45 36.91 36 36
46 37.96 37 37
47 38.99 38 38
48 40.00 40 39
49 40.99 40
50 41.96 41 40
51 42.90 42 41
52 43.81 43 42
53 44.70 44 43
54 45.56 45 44
55 46.39 46 45
56 47.19 47 46
57 47.95 47
58 48.67 48 47
59 49.35 49 48
60 50.00 50 49
61 50.60 50
62 51.16 51 50
63 51.68 51
64 52.15 52 51
65 52.57 52
66 52.94 52
67 53.25 53 52
68 53.52 53
69 53.73 53
70 53.88 53
71 53.97 53
72 54.00 54 53

 以上から、n=2のとき、求める個数は、53個であることが分かる。

 上記の実験から、 27,53,・・・ という数列が得られ、一般の自然数 n について、求め
る個数は、

 26n+1(個)

であることが推察される。

 具体的な n について、電卓があれば容易に個数が求められるが、電卓なしで個数を求め
るという東京大学の問題に、平成24年度から実施の新学習指導要領で期待される「課題学
習」の片鱗を見るような思いである。

 n=1のときと n=2のときのグラフを描いてみて驚いたことがある。縮尺は、n=1のときを
1とすると、n=2のときは2にしたのだが、2つのグラフを同じ縮尺にして重ねてみるとピッタリ
重なって見えるのだ!これって...偶然?

 きっと関数のこの綺麗な性質が問題解法に生かされるのだろう。


 空舟さんから上記問題の解答を頂きました。(平成24年1月22日付け)

 東京大学前期 理系(1998年)

 実数 a に対して、k≦a<k+1 を満たす整数 k を [ a ] で表す。n を正の整数として、

 

とおく。36n+1個の整数

 [ F(0) ] 、[ F(1) ] 、[ F(2) ] 、・・・、[ F(36n) ]

のうち相異なるものの個数を n を用いて表せ。

(解) x/36n=y とおくと、式が多少見やすくなります。

 G(y)=27y2(3−2y)n

 このとき、[ G(0) ] 、[ G(1/36n) ] 、[ G(2/36n) ] 、・・・、[ G(1) ]  を調べることにな
ります。

 微分して、 G’(y)=162y(1−y)n

 区間 [0,1] で、 G’(y)≧0 より、G(y)は単調に増加し、さらに、G’(y) は、y=1/2 の

時最大である。

 G’(1/2)=81n/2>36n ということは、y=1/2 付近では、y が、1/36n 動いたとき、

G(y)は1以上動くことが分かります。

 ちょうど、G’(y)=36n となる y を求めたくなりますね。求めてみると、y=1/3、2/3 と
なります。その時のG(y)の値は、7n、20n となります。また、G(0)=0、G(1)=27n

 このような考察から、

(a) 0≦y≦1/3 では、y が、1/36n動いた時、G(y)の変化は1以下であるから、

 [G(y)] は、0から7nまでの整数を網羅する。

(b) 1/3≦y≦2/3 では、y が、1/36n動いた時、G(y)の変化は1以上であるから、

 [G(y)] は、すべて異なる整数となる。

(c) 2/3≦y≦1 では、(a)と同様に、20nから27nまでの整数を網羅する。

 よって、 (a)の範囲で、7n−0+1=7n+1個の整数

(b)の範囲で、24n−12n+1=12n+1個の整数
 (注意:1/3=12n/36n、2/3=24n/36n)

(c)の範囲で、27n−20n+1=7n+1個の整数

 2箇所の境界で重複して数えていますので、合計は、26n+1個 となる。


(コメント) 分かりやすい計算ですね!空舟さんに感謝します。


 FNさんからのコメントです。(平成24年1月23日付け)

 東大の問題はごつごつした感じでいかにも難しそうに見えます。考えようと思う気力を萎え
させる効果はありそうです。こんなに複雑な式で出題しなければならないのでしょうか。2次
関数で出してもいいのではないかと思うのですが、それでは簡単すぎるということでしょうか。
それとも2次関数なら既に出題されたことがあるということなのでしょうか。

 次の程度の問題でもいいのではないかと思います。

(1) 実数 a に対して、k≦a<k+1 を満たす整数 k を、[a] で表す。n を正の整数とし、

  F(x)=x(x+3n)/(9n) とおく。6n+1個の整数 [F(0)]、[F(1)]、[F(2)]、・・・、[F(6n)] のうち

 相異なるものの個数を n を用いて表せ。

 問題としてはかなり単純になっていますが、問題としての構造には大きな違いはありませ
ん。見た感じがちょっと軽いので、手を付けやすいのではないでしょうか。この程度の問題
からやってみるのがいいと思います。

 問題を作る方から言うと、2次関数の場合はかなりいい加減に作っても問題として成立し
ます。3次関数で作ろうとすると、かなり面倒なようです。3次関数で、この形の問題ができ
るための条件を調べてみるのも面白そうです。

 (1)を一般化して次の形にしてみます。

(2) 実数 a に対して、k≦a<k+1 を満たす整数 k を、[a] で表す。n、a、b を正の整数とし、

  F(x)=x(x+a)/b とおく。n+1個の整数 [F(0)]、[F(1)]、[F(2)]、・・・、[F(n)] のうち相異なる

 ものの個数を n を用いて表せ。

 理屈は同じですが、一般化した分面倒になります。n、a、b についての煩瑣な場合分けが
必要になるようです。私も解けてるわけではありません。a、b の偶奇が同じである場合はで
きそうな気がします。


 空舟さんからのコメントです。(平成24年1月24日付け)

『(2) 実数 a に対して、k≦a<k+1 を満たす整数 k を、[a] で表す。n、a、bを正の整数と
  し、F(x)=x(x+a)/b とおく。n+1個の整数 [F(0)]、[F(1)]、[F(2)]、・・・、[F(n)] のうち相異
 なるものの個数を n を用いて表せ。』について、

 正の整数とした場合は、以下の(a)(b)(c1)(c2)の場合分けとなりました。

 F’(x)=(2x+a)/b 、F’(x)=1 を下から通過する点は、 x=(b-a)/2

 見やすくするため、x=A まで網羅、以降ばらばらの時の個数: [F(A)]+1+(n-A) を G(A) と
書くことにします。

(a) b-a≦0 なら n+1個の値が全部ばらばらで、n+1個

(b) b-a≧2n なら 0 から [F(n)] を網羅するタイプで、G(0)個

(c) 0<b-a<2n の場合は、

(c1) b-a が偶数の時、x=(b-a)/2 までは網羅、以降ばらばらなので、G((b-a)/2)個

(c2) b-a が奇数の時、 F((b-a+1)/2)-F((b-a-1)/2)=(b-a+a)/b=1 なので、

  x=(b-a-1)/2 までは網羅、以降ばらばらと考えて、 G((b-a-1)/2)個

となりますね。F’(x)のかわりに、より直接 F(x)-F(x-1)を調べる手もありました。


 FNさんからのコメントです。(平成24年1月24日付け)

 b-aが奇数のときは、計算もしないで、面倒かなと思ったのですが、実際に計算したら、そ
れほどでもないのですね。微分でなく差分(階差)でもいいのか!差分でやっていれば、

  F((b-a+1)/2)-F((b-a-1)/2) = (b-a+a)/b = 1

は、あらためて計算するまでもなく、 F(x)-F(x-1)=1 を満たす値として求めていた筈だから
差分のほうが楽なのかもしれません。

 3次関数の場合は差分では無理なようです。ということは、2次と3次で本質的な違いがあ
るということになります。やはり、3次関数で出題する必然性があるということかもしれません。

 あとは、3次関数で出題するとき、東大の式程度の式しかないのか、また、気が向いたら調
べてみましょう。(b)のG(0)個は、G(n)=[F(n)]+1個ですね。


(追記) 平成28年8月7日付け

 上記で次の問題を考えた。受験数学の有名問題でもある。

(例) 100!は、末尾に 0 が何個続くか?

 そこでは、公式 :

 自然数 N の階乗( N!)の中に、素数 P は次の個数含まれる。

 


(ただし、N の P 進法展開を、stu・・・ とする。)

を用いて、100 の5進法展開 400 より、100!の中に 5 は、(100−4)/4=24 (個)含
まれることから、100!の末尾に 0 が24 個続くことを見た。

 もちろん、この計算は、ガウスの記号を用いても出来る。

 [100/5]+[100/52]=20+4=24(個)

 最近、飯高 茂 著 「数学の研究をはじめよう(T)」(現代数学社) を読んでいたら、
この計算を次のようにしていることが注目された。

 n!に含まれる5の個数をF(n)とおく。ここで、1からnまでの数のうち、5の倍数の個数を
mとすると、次の等式が成り立つ。

 F(n)=m+F(m)

したがって、 F(100)=20+F(20)=20+4+F(4)=20+4+0=24


(コメント) 再帰的な等式の利用で感動しました。意味はガウスの記号と同様なのだが、少
      し目新しい感じがする。


(追記) 令和6年11月10日付け

 次の東北大学 理系(1985)の問題は、ガウスの記号と絶対値が出てくる問題である。

問題3  [x]によって実数 x をこえない最大の整数を表し、F(x)=|x−2[(x+1)/2]|と
  おく。

(1) y=F(x)のグラフを描け。
(2) limn→∞02n-2xF(x)dx の値を求めよ。

(解)(1) [(x+1)/2]=k とおくと、 k≦(x+1)/2<k+1 すなわち、

 2k−1≦x<2k+1 のとき、 [(x+1)/2]=k で、 F(x)=|x−2k| となる。

2k−1≦x<2k のとき、 F(x)=−x+2k

2k≦x<2k+1 のとき、 F(x)=x−2k

よって、y=F(x)のグラフは、下図のようになる。

 
(2) k=1、2、・・・、n について、

2k-22k-1-2x(x−2k+2)dx+∫2k-12k-2x(−x+2k)dx

=[(−1/2)e-2x(x−2k+2)]2k-22k-1+(1/2)∫2k-22k-1-2xdx

 +[(−1/2)e-2x(−x+2k)]2k-12k−(1/2)∫2k-12k-2xdx

=(−1/2)e-4k+2+(1/2)[(−1/2)e-2x]2k-22k-1+(1/2)e-4k+2−(1/2)[(−1/2)e-2x]2k-12k

=−(1/4)(e-4k+2−e-4k+4)+(1/4)(e-4k−e-4k+2

=(1/4)e-4k−(1/2)e-4k+2+(1/4)e-4k+4

=(1/4)e-4k(1−2e2+e4)

=(1−e22/4・e-4k

よって、

02n-2xF(x)dx=Σk=1n (1−e22/4・e-4k

=(1−e22/4・(1−e-4n)/(e4−1) から、

 limn→∞02n-2xF(x)dx=(e2−1)/4(e2+1)  (終)


(コメント) なかなか計算がハードでしたね!



     以下工事中