素数(解、その1)
素数の個数の求め方
まず、200のルートを取り、これを超えない最大の素数を求めます。
13<(200)1/2<17
上記の関係から、最大の素数は13と判ります。 したがって、2、3、5、7、11、13
の素数の倍数を除くことを考えれば良い訳です。
では、 少しずつ範囲を狭めて行きましょう。 2の倍数を除くと100個の奇数が残り
ます。 ただし、2は素数であり1は素数ではないので、 99個がさらに素数かどうか
チェックしないといけない数字になります。
素数(確定)−>1個
素数(未確定)−>99個
次に、3の倍数を除きます。2と3の公倍数(6の倍数)は、すでに2の倍数として除
かれているので、 200/3の整数部分から200/6の整数部分を引いたものを上記
の素数(未確定)の数から引きます。99−(66−33)=66。ただし、3は素数であ
ると判っているので、
素数(確定)−>2個
素数(未確定)−>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は素数であるので、
素数(確定)−>3個
素数(未確定)−>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は素数であるので、
素数(確定)−>4個
素数(未確定)−>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は素数であるので、
素数(確定)−>5個
素数(未確定)−>42個
最後に、13の倍数を除きます。2と13の公倍数(26の倍数)、3と13の公倍数(3
9の倍数)、5と13の公倍数(65の倍数)、7と13の公倍数(91の倍数)、 11と13
の公倍数(143の倍数)はすでに除かれているので、 200/13の整数部分から20
0/26の整数部分、200/39の整数部分、200/65の整数部分、200/91の整数
部分、 200/143の整数部分を引いたものを、上記の素数(未確定)の数から引き
ます。 ただし、2と3と13の公倍数(78の倍数)、2と5と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は素数であるので、
素数(確定)−>6個
素数(確定)−>40個
以上から、素数の全数は46個となります。
1から50程度の自然数の範囲なら、 数字を書き出して消去法で求めた方が速い
かもしれません。手順は上と同じです。
(1) ルート50を超えない素数を求める。この場合は7になります。
(2) 2、3、5、7の素数を残して、1と左記の素数の倍数を全て消去する。
上図において、影入りの数が素数になります。 この場合、素数の個数は全部で15
個になります。
素数の和の求め方