兄弟素数(いとこ素数,セクシー素数)

兄弟素数(いとこ素数,セクシー素数)

差が2だと双子素数なら差が4とか6とかだとどうなんだろう、という事で調べてみました。兄弟素数というのは私の造語です。一般になんと呼ばれているのかは分かりません。なお、今回のプログラムでは隣接する素数同士の距離しか測っていません。例えば距離4の素数の組として3と7のように間に別の素数をはさむ物は除外しています。

(2012/5/9追記)

差が4のものを「いとこ素数」、差が6のものを「セクシー素数」と呼ぶそうです。なんで差が6でセクシーなのかというとラテン語で6が「sex」だからだそうです。

#include <stdio.h>
#include <stdlib.h>

int main( int ac, char *av[] )
{
    int n, m, d;
    char buf[1024];

   /*  コマンドラインから差を決定する    */
    if( ac < 2 )
        return( 1 );
    d = strtol( av[1], NULL, 10 );

    m = -1;
    while( fgets( buf, 1024, stdin ) ) {
        n = strtol( buf, NULL, 10 );
        if( m != -1 && n - d == m )
            printf( "%d %d\n", m, n );
        m = n;
    }

    return( 0 );
}

1億以下の素数一覧データに対して距離を4から20まで変えて調べてみたところ、兄弟素数(いとこ素数,セクシー素数)は以下の個数存在しました。

距離 4(いとこ素数) 6(セクシー素数) 8 10 12 14 16 18 20
個数 440,257個 768,752個 334,180個 430,016個 538,382個 293,201個 215,804個 384,738個 202,922個

距離が離れれば個数も減っていくと予想したのですが、意外とそうでもありませんでした。ちなみに隣接する素数同士の距離は無限に大きいものが存在しますので、どんなに距離の離れた兄弟素数も存在する事になりますが、ある距離の兄弟素数の数が無限に存在するかどうかはわかりません。距離2の場合は無限に存在するわけなんですが。

(2005/4/18追記)

双子素数で書きました通り、双子素数が無限に存在するというのは未だに証明されていないようです。ですので、距離2の兄弟素数が無限に存在するというこちらの記述も取り消します。

(2012/2/15追記)

素数一覧を10億まで求めたので、こちらも10億以下にデータを更新しました。

(2014/11/3追記)

1兆以下までデータを更新しました。

範囲/距離 4(いとこ素数) 6(セクシー素数) 8 10 12 14 16 18 20
1万以下 202個 299個 101個 119個 105個 54個 33個 40個 15個
10万以下 1215個 1940個 773個 916個 964個 484個 339個 514個 238個
100万以下 8,143個 13,549個 5,569個 7,079個 8,005個 4,233個 2,881個 4,909個 2,401個
1000万以下 58,621個 99,987個 42,352個 54,431個 65,513個 35,394個 25,099個 43,851個 22,084個
1億以下 440,257個 768,752個 334,180個 430,016個 538,382個 293,201個 215,804個 384,738個 202,922個
10億以下 3,424,679個 6,089,791個 2,695,109個 3,484,767個 4,468,957個 2,464,565個 1,846,097個 3,351,032個 1,824,043個
100億以下 27,409,998個 49,392,723個 22,160,841個 28,764,495個 37,588,207個 20,943,953個 15,888,305個 29,189,691個 16,296,072個
1000億以下 224,373,160個 408,550,278個 185,402,143個 241,298,621個 319,972,455個 179,718,000個 137,715,130個 255,371,697個 145,357,801個
1兆以下 1,870,585,458個 3,435,528,229個 1,573,331,564個 2,052,293,026個 2,753,597,777個 1,556,469,349個 1,202,533,145個 2,246,576,317個 1,298,682,892個

あおやぎのさいと2.0初歩の整数論プログラミング