「素数度」について

ある数が素数であるかないかを考えるとき、その数の「素数な度合い」を考えることがある。 例えば200と201について考えてみよう。これらは両方とも素数ではない。しかし、まず200を 素因数分解すると2×2×2×5×5となって、小さな素数をたくさん組み合わせたものとわかるので、 「素数な度合い」は非常に小さい。まあそりゃそうだな。それに対して、お隣の201を考えると、 3×67。素因数の数が少なく、しかも67という結構大きな素数を因数として持つので、これは 「素数な度合い」が割合に大きいと言える。う〜んわかってもらえるだろうか、この気持ち。

直感的に感じている、この「素数な度合い」というものを、何とかして定式化できないものだろうか。 その数値を「素数度p」と呼んで、以下のルールを満たしながら数値に表すことを考えてみた。

1.素因数分解したとき、その数を構成する素因数の個数が少ない方が、素数度が大きい。
2.それぞれの素因数が大きい方が、素数度が大きい。

一口に言えば、たくさんの細かい素数に刻まれてしまう数は、素数度が小さいということだな。 大きい数のぶつ切りの方がエライのだ。

この2つのルールを反映するようにすると、ズバリ

p=(log(2)C1×log(2)C2×log(2)C3×・・・・×log(2)Cn)^(1/n)

という式を考え付いた。ここでCnは各素因数で、nは素因数の数である。

ルール2で求められる「素因数の大きさ」を与えるのが、2を底としたCnの対数。大きい素因数を持つ 方が有利ということ。そして、それらの積のn乗根をとることで、ルール1の「素因数の個数」の 要素を加味している。nが大きいと、pが小さくなっちゃって不利ってことね。

この式を用いて、先ほどの200と201の素数度pを計算してみよう。

200の場合 : 200=2×2×2×5×5だから、素因数の個数n=5で、
p=(log(2)2×log(2)2×log(2)2×log(2)5×log(2)5)^(1/5)=1.40

201の場合 : 201=3×67だからn=2で、
p=(log(2)3×log(2)67)^(1/2)=3.10

このように、200に比べて201はだいぶ素数度が大きいと言える。

今この文を書いているのが平成11年11月11日なので、この111111という数についても、素数度を計算 してみよう。
111111=3×7×11×13×37 n=5 -----> p=3.12
その数自身は大きいが、細かく分解されすぎなので、素数度は小さい。

これに対して、2つお隣の111113という数だと
111113=23×4831 n=2 -----> p=7.44
要素の個数は2つで201と同じだが、4831という大きな素数を因数に持つので、素数度が大きくなっている。

さらに、一桁増やした1111111だと
1111111=239×4649 n=2 -----> p=9.81
要素が少なく、素因数が大きい。素数度が大きくなる条件を満たしているね。

前のページでダウンロードできる素数表、それに載っている一番大きな素数は999983で、その 素数度は19.9。それに対して1少ない数を考えると、
999982=2×79×6329 n=3 -----> p=4.30
となって、グググッと小さくなってしまっている。2を因数に持つのが致命的だな。6329が 一人で頑張ってるけど、2が相当足を引っ張っている感じ。この2を除いた数、499991=79×6329 だと n=2 -----> p=8.92 となって素数度が大きい。ルール1が厳しく効いているね。

何となくという感じで突然思いついたこの「素数度」、次なる目標は素数度を自動的に計算する プログラムを組むことである。それには素因数分解のプログラムから始めなきゃならんが、完成 し次第またこのページで公開したいと思うので、どうぞ気長にお待ちください。

*******

「考える傾向。」に戻る