■双子素数の桁数(その17)
【1】エラトステネスのふるい
エラトステネスは素数を組織的に拾い出すふるいを考えた数学者として知られている.まず2の倍数をすべてはじく(これで偶数はすべて消える).次に3の倍数をすべてはじく.(4の倍数はすでに消えているから)5の倍数,7の倍数,・・・をはじく.その手順は(p以外の)素数pの倍数を順次ふるい落とすというものである.
===================================
[1]1から100までの数字を順番に書く.
01 02 03 04 05 06 07 08 09 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
===================================
[2]1を消す.最初の素数2を残し,その後出てくる2で割り切れるすべての数を消す(これで偶数はすべて消える).
02 03 05 07 09
11 13 15 17 19
21 23 25 27 29
31 33 35 37 39
41 43 45 47 49
51 53 55 57 59
61 63 65 67 69
71 73 75 77 79
81 83 85 87 89
91 93 95 97 99
===================================
[3]消されない最初の数は3.3を残し,その後出てくる3で割り切れるすべての数を消す.
02 03 05 07
11 13 17 19
23 25 29
31 35 37
41 43 47 49
53 55 59
61 65 67
71 73 77 79
83 85 89
91 95 97
===================================
[4]4の倍数はすでに消えているから,消されない最初の数は5.5を残し,その後出てくる5で割り切れるすべての数を消す.
02 03 05 07
11 13 17 19
23 29
31 37
41 43 47 49
53 59
61 67
71 73 77 79
83 89
91 97
===================================
[5]6の倍数はすでに消えているから,消されない最初の数は7.7を残し,その後出てくる7で割り切れるすべての数を消す.
02 03 05 07
11 13 17 19
23 29
31 37
41 43 47
53 59
61 67
71 73 79
83 89
97
8,9,10の倍数はすでに消えていて,ふるい落とされるものがない.√100≦10より,100以下の数に対してこのアルゴリズムを適用すると,素数が25個でたところでこの作業は終わる.
===================================
さらに続けていき
[6]消されない最初の数はp.pを残し,その後出てくるpで割り切れるすべての数を消す.このときnより小さいすべての素数が得られるのは
p=[√n]より小さい最大の素数
である.もし2から1000までのすべての数字を書き出すところから始めた場合,1000以下の素数をすべて求められたことになるのには,
√1000=31.6
すなわち,2の倍数,3の倍数,5の倍数,・・・をふるい落としていって,31を残しその他の31の倍数を消せばすべての作業が終了したことになる.
===================================