この記事には次のように書かれています。
すべての素数は、 、 、 、または一部の として表す
30k±1
こと30k±7
が30k±11
でき30k±13
ますk
。つまり、30 個の数値ごとに 8 ビットを使用して、すべての素数を格納できます。100 万個の素数を 33,334 バイトに圧縮できます
「つまり、すべての素数を格納するために、30 個の数値ごとに 8 ビットを使用できるということです」
この「30個の数字あたり8ビット」はkの場合ですよね?しかし、各k値は必ずしも 1 ビットだけを占めるわけではありません。代わりに8 つの k 値であるべきではありませんか?
「100 万個の素数を 33,334 バイトに圧縮できます」
これがどのように真実なのかわかりません。
次の 2 つのことを示す必要があります。
k の値 (任意に大きくすることができます)
8 つの州のうちの 1 つの STATE
(-13,-11,-7,-1,1,7,11,13)
「33,334 バイト」がどのように に到達したかについては詳しく説明していませんが、1 つ言えることは、素数がどんどん値が大きくなるにつれて、kの値を格納するためにより多くのスペースが必要になるということです。
では、「33,334 バイト」に修正するにはどうすればよいでしょうか。