・ 牛歩のごとく                    S.H氏

 私の通う病院の待合室の電光掲示板には、ニュースの合間に、ウサギと亀の物語がアニメー
ションで流れる。亀のあまりに遅い歩みに油断したウサギが、居眠りをして、ついには亀に追い
抜かされ競走に負けてしまうという例の話である。
 この話を眺めていると、数学にも似たような関数があることに気がつく。あまりに遅い増加の割
合で、本当に、亀のような、歩みののろい関数である。

 P(n) : n の素因数分解で、異なる素数の数   とする。

例 
 P(2)=1、P(4)=1、P(6)=2、P(8)=1、P(10)=2、P(12)=2、P(30)=3、P(210)=2

 自然数の素因数分解を求めるには、表計算ソフトの Excel のマクロを活用して、次のように
すればよい。
 Excel を起動し、[ツール]−[マクロ]−[Visual Basic Editor] とクリックして Editor
を起動し、[挿入]−[標準モジュール] を選択して、下記を記述する。後は、Excel の任意のセ
ルに、例えば、 =B(10) と打ち込むと、瞬時に、10 の素因数分解が得られる。

Function B(n, d)
If n < d * d Then
B = n
Else
If n - Int(n / d) * d = 0 Then
B = d & "×" & B(n / d, d)
Else
B = B(n, d + 1)
End If
End If
End Function

 そこで、
      関数 M(n) : 1から n までの P(n) の平均値
を考える。
 関数 P(n) は、不規則に変化しながらも、n の値が増加するのにあわせて、だんだんと、そ
のとりうる値も増加する。したがって、その間の平均値である M(n) の値もだんだんと増加する。
しかし、その増加する速さは、n の増加する速さと比べて、驚くほど遅い。 

100 200 300 400 500
M(n) 1.710 1.845 1.927 1.975 2.016

 上の表によると、500より小さな数を素因数分解するとき、大体は、2つの異なる素数を用い
て分解されるということである。ものの本によれば、
  M(100000000)≒2.9
 n=10100 (グーゴルといわれる数。こちらを参照)というとてつもなく大きな数に対してでも、
  M(n)≒5.4
なので、その増加する速さがいかに遅いか、実感できよう。

(参考文献:M.ラインズ 著 片山孝次 訳 数 その不思議なふるまい(岩波書店))


                                    投稿一覧に戻る