素数(解、その1)


 

素数の個数の求め方

 

まず、200のルートを取り、これを超えない最大の素数を求めます。

 

13<(200)1/2<17

 

上記の関係から、最大の素数は13と判ります。 したがって、2、3、5、7、11、13

の素数の倍数を除くことを考えれば良い訳です。

 

では、 少しずつ範囲を狭めて行きましょう。 2の倍数を除くと100個の奇数が残り

ます。 ただし、2は素数であり1は素数ではないので、 99個がさらに素数かどうか

チェックしないといけない数字になります。

 

素数(確定)−>

素数(未確定)−>99個

 

次に、3の倍数を除きます。2と3の公倍数(6の倍数)は、すでに2の倍数として除

かれているので、 200/3の整数部分から200/6の整数部分を引いたものを上記

の素数(未確定)の数から引きます。99−(66−33)=66。ただし、3は素数であ

ると判っているので、

 

素数(確定)−>

素数(未確定)−>66個

 

三番目に、5の倍数を除きます。 2と5の公倍数(10の倍数)と3と5の公倍数(15

の倍数)はすでに除かれているので、200/5の整数部分から200/10の整数部分

と200/15の整数部分を引いたものを、  上記の素数(未確定)の数から引きます。

ただし、2と3と5の公倍数(30の倍数)の数だけ余計に引かれているので、その補

正(200/30の整数部分を足す)を考慮しなければなりません。 66−(40−(20+

13−6))=53。5は素数であるので、

 

素数(確定)−>

素数(未確定)−>53個

 

四番目に、7の倍数を除きます。 2と7の公倍数(14の倍数)、3と7の公倍数(21

の倍数)、5と7の公倍数(35の倍数)はすでに除かれているので、 200/7の整数

部分から200/14の整数部分、  200/21の整数部分そして200/35の整数部分

を引いたものを上記の素数(未確定)の数から引きます。  ただし、 2と3と7の公倍

数(42の倍数)、  2と5と7の公倍数(70の倍数)そして3と5と7の公倍数(105の

倍数)を足した数だけ余計に引かれているので、その補正(200/42の整数部分、

200/70の整数部分そして200/105の整数部分を足す)を考慮しなければなりま

せん。53−(28−(14+9+5−(4+2+1)))=46。7は素数であるので、

 

素数(確定)−>

素数(未確定)−>46個

 

五番目に、11の倍数を除きます。 2と11の公倍数(22の倍数)、3と11の公倍数

(33の倍数)、 5と11の公倍数(55の倍数)、 7と11の公倍数(77の倍数)はすで

に除かれているので、200/11の整数部分から200/22の整数部分、200/33の

整数部分、200/55の整数部分、200/77の整数部分を引いたものを、 上記の素

数(未確定)の数から引きます。ただし、2と3と11の公倍数(66の倍数)、2と5と1

1の公倍数(110の倍数)、  2と7と11の公倍数(154の倍数)、 3と5と11の公倍

数(165倍数)を足した数だけ余計引かれているのでその補正(200/66の

整数部分、 200/110の整数部分、 200/154の整数部分、 200/165の整数部

足す)を考慮しなけれなりません。   46−(18−(9+6+3+2−(3+1+1

+1)))=42。11は素数であるので、

 

素数(確定)−>

素数(未確定)−>42個

 

最後に、13の倍数を除きます。2と13の公倍数(26の倍数)、3と13の公倍数(3

の倍数)、5と13の公倍数(65の倍数)、7と13の公倍数(91の倍数)、 11と13

の公倍数(143の倍数)はすでに除れているので、 200/13の整数分から20

0/26の整数分、200/39数部分、200/65の整数部分、200/91の整数

部分、 200/143数部分を引いたものを、上記の(未確定)の数から引き

す。 ただし、2と313(78の倍数)、2とと13の公倍数(130の倍数

)、2と7と13の公数(182倍数)、3と5と13の公倍数(195の倍数)を足した

数だけ余計れているので、 その補正(200/78の整数部分、 200/130の

整数部分、200/182の整数部分、200/195整数部足す)を考慮しなけれ

)をなけれなりません。42−(15−(7+5+3+2+1−(2+1+1+1

)))=40。13は素数であるので、

 

素数(確定)−>

素数(確定)−>40

 

以上から、素数の全数46個となります。

 

から50程度の自然数の範囲なら、  数字を書き出して消去法で求めた方が速い

かもしれません。手順は上と同じです。

 

(1) ルート50を超えない素数を求める。この場合はになります

(2) の素数を残してと左記の素数の倍数を全て消去する

 

SOSU-KOSU-1-50.GIF - 4,310BYTES

 

上図において、影入りの数が素数になります。 この場合、素数の個数は全部で15

個になります。

 

 

素数の和の求め方

 

 


 

Topへ