数学には、未解決問題というものがたくさんある。

 

その中の一つであるルジャンドル予想について、ちょっと思うことがあって書いてみようかなと思う。

 

 

ルジャンドル予想とは、

任意の自然数nにおいて、n2と(n+1)2の間には一つ以上の素数が存在する。

というものです。

 

簡単に言えば、素数の分布に関する研究といえる。

 

予想となっているのは、まだ解決していないからであれば、解決すればルジャンドル定理といったものになる。

 

例えば、

任意の自然数nにおいて、nと2nの間には一つ以上の素数が存在することは証明されています。

 

というわけで、ちょっと思うところがあって、調査用のプログラムを組んでみる。

 

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

int main(int argc, char *argv[])
{
    unsigned long long n,p,q,b,x,i;
    double f,w;

    w = 1.6;
    if ( argc == 2 ) {
        w = atof(argv[1]);
        if ( w <= 1.0 ) {
            w = 1.6;
        }
    }

    n = 1;
    printf("[%llu^%.10f]=1<\t",n,w);

    f = powl(n+1,w);
    x = 0;
    b = p = 2;

    while ( 1 ) {
        if ( p < f ) {
            if ( x < 3 ) {
                printf("%llu ",p);
            }
            x++;
        } else {
            if ( x > 3 ) {
                printf("... (%llu)",x);
            }
            n++;
            printf("\n[%llu^%.10f]=%u<\t",n,w,(unsigned int)f);
            f = powl(n+1,w);
            if ( x == 0 ) {
                printf("%llu\n",b);
                break;
            }
            x = 0;
            if ( p < f ) {
                printf("%llu ",p);
                x++;
            }
        }
        b = p;
        do {
            if ( p == 2 ) {
                p++;
            } else {
                p += 2;
            }

            q = sqrtl((long double)p)+1;
            for (i=3; i<q; i+=2) {
                if ( p%i == 0 ) break;
            }
        } while ( i < q );
    }

    return EXIT_SUCCESS;
}

ルジャンドル予想は、2乗でしたが、ここではw乗として、プログラムのパラメータとして実数を与えます。

 

w=1.3のとき、

[1^1.3000000000]=1<     2
[2^1.3000000000]=2<     3
[3^1.3000000000]=4<     5
[4^1.3000000000]=6<     7
[5^1.3000000000]=8<
[6^1.3000000000]=10<    11

 

nが5と6の間のときに、素数が存在しないことがわかります。

 

w=1.4のとき、

[1^1.4000000000]=1<     2
[2^1.4000000000]=2<     3
[3^1.4000000000]=4<     5
[4^1.4000000000]=6<     7
[5^1.4000000000]=9<     11
[6^1.4000000000]=12<    13
[7^1.4000000000]=15<    17
[8^1.4000000000]=18<    19
[9^1.4000000000]=21<    23
[10^1.4000000000]=25<
[11^1.4000000000]=28<   29

 

nが10と11の間のときに、素数が存在しないことがわかります。

 

w=1.5のとき、

[1^1.5000000000]=1<     2
[2^1.5000000000]=2<     3 5
[3^1.5000000000]=5<     7
[4^1.5000000000]=8<     11
[5^1.5000000000]=11<    13
[6^1.5000000000]=14<    17
[7^1.5000000000]=18<    19
[8^1.5000000000]=22<    23
[9^1.5000000000]=27<    29 31
[10^1.5000000000]=31<
[11^1.5000000000]=36<   37

 

nが10と11の間のときに、素数が存在しないことがわかります。

 

といったように、調査できます。

 

w=1.30のとき、n=5

w=1.35のとき、n=7

w=1.40のとき、n=10

w=1.45のとき、n=4

w=1.50のとき、n=10

w=1.55のとき、n=104

 

wの値は増やせば確実にnも増えるというわけではなくて、波があるように思う。

 

そもそも、wが連続なのかも怪しいですが、それは今回は目をつむることにします。

 

 

例えば、

w=1.6のとき、

n=100000を超えても終了しないので、かなり高い山があることが解る。

 

更にその両端を詳しく調べていく、

w=1.5996895918のとき、n=90

w=1.6000881016のとき、n=50

と終了する谷が存在する。

 

こんな雑な調査だが、ルジャンドル予想はw=2のときについて言及しているのだが、私がルジャンドル予想については、素数は2個以上あると考えているので、1個ギリギリを攻めて値もあるのではと考えている。

 

かなり思い上がってますねw。

 

w=1.5996895918のとき、n=90

[1^1.5996895918]=1<     2 3
[2^1.5996895918]=3<     5
[3^1.5996895918]=5<     7
[4^1.5996895918]=9<     11 13
[5^1.5996895918]=13<    17
[6^1.5996895918]=17<    19
[7^1.5996895918]=22<    23
[8^1.5996895918]=27<    29 31
[9^1.5996895918]=33<    37
[10^1.5996895918]=39<   41 43
[11^1.5996895918]=46<   47 53
[12^1.5996895918]=53<   59
[13^1.5996895918]=60<   61 67
[14^1.5996895918]=68<   71 73
[15^1.5996895918]=76<   79 83
[16^1.5996895918]=84<   89
[17^1.5996895918]=92<   97 101
[18^1.5996895918]=101<  103 107 109
[19^1.5996895918]=111<  113
[20^1.5996895918]=120<  127
[21^1.5996895918]=130<  131 137 139
[22^1.5996895918]=140<  149
[23^1.5996895918]=150<  151 157
[24^1.5996895918]=161<  163 167
[25^1.5996895918]=172<  173 179 181
[26^1.5996895918]=183<  191 193
[27^1.5996895918]=194<  197 199
[28^1.5996895918]=206<  211
[29^1.5996895918]=218<  223 227 229
[30^1.5996895918]=230<  233 239 241
[31^1.5996895918]=243<  251
[32^1.5996895918]=255<  257 263
[33^1.5996895918]=268<  269 271 277 ... (4)
[34^1.5996895918]=281<  283 293
[35^1.5996895918]=295<  307
[36^1.5996895918]=308<  311 313 317
[37^1.5996895918]=322<  331
[38^1.5996895918]=336<  337 347 349
[39^1.5996895918]=350<  353 359
[40^1.5996895918]=365<  367 373 379
[41^1.5996895918]=380<  383 389
[42^1.5996895918]=395<  397 401 409
[43^1.5996895918]=410<  419 421
[44^1.5996895918]=425<  431 433 439
[45^1.5996895918]=441<  443 449
[46^1.5996895918]=456<  457 461 463 ... (4)
[47^1.5996895918]=472<  479 487
[48^1.5996895918]=489<  491 499 503
[49^1.5996895918]=505<  509 521
[50^1.5996895918]=522<  523
[51^1.5996895918]=538<  541 547
[52^1.5996895918]=555<  557 563 569 ... (4)
[53^1.5996895918]=573<  577 587
[54^1.5996895918]=590<  593 599 601 ... (4)
[55^1.5996895918]=608<  613 617 619
[56^1.5996895918]=625<  631 641 643
[57^1.5996895918]=643<  647 653 659 ... (4)
[58^1.5996895918]=662<  673 677
[59^1.5996895918]=680<  683 691
[60^1.5996895918]=699<  701 709
[61^1.5996895918]=717<  719 727 733
[62^1.5996895918]=736<  739 743 751
[63^1.5996895918]=755<  757 761 769 ... (4)
[64^1.5996895918]=775<  787
[65^1.5996895918]=794<  797 809 811
[66^1.5996895918]=814<  821 823 827 ... (4)
[67^1.5996895918]=833<  839 853
[68^1.5996895918]=853<  857 859 863
[69^1.5996895918]=874<  877 881 883 ... (4)
[70^1.5996895918]=894<  907 911
[71^1.5996895918]=915<  919 929
[72^1.5996895918]=935<  937 941 947 ... (4)
[73^1.5996895918]=956<  967 971 977
[74^1.5996895918]=977<  983 991 997
[75^1.5996895918]=998<  1009 1013 1019
[76^1.5996895918]=1020< 1021 1031 1033 ... (4)
[77^1.5996895918]=1041< 1049 1051 1061 ... (4)
[78^1.5996895918]=1063< 1069
[79^1.5996895918]=1085< 1087 1091 1093 ... (5)
[80^1.5996895918]=1107< 1109 1117 1123 ... (4)
[81^1.5996895918]=1129< 1151
[82^1.5996895918]=1152< 1153 1163 1171
[83^1.5996895918]=1174< 1181 1187 1193
[84^1.5996895918]=1197< 1201 1213 1217
[85^1.5996895918]=1220< 1223 1229 1231 ... (4)
[86^1.5996895918]=1243< 1249 1259
[87^1.5996895918]=1266< 1277 1279 1283 ... (4)
[88^1.5996895918]=1289< 1291 1297 1301 ... (5)
[89^1.5996895918]=1313< 1319 1321 1327
[90^1.5996895918]=1337<
[91^1.5996895918]=1360< 1361

 

w=1.6000881016のとき、n=50

[1^1.6000881016]=1<     2 3
[2^1.6000881016]=3<     5
[3^1.6000881016]=5<     7
[4^1.6000881016]=9<     11 13
[5^1.6000881016]=13<    17
[6^1.6000881016]=17<    19
[7^1.6000881016]=22<    23
[8^1.6000881016]=27<    29 31
[9^1.6000881016]=33<    37
[10^1.6000881016]=39<   41 43
[11^1.6000881016]=46<   47 53
[12^1.6000881016]=53<   59
[13^1.6000881016]=60<   61 67
[14^1.6000881016]=68<   71 73
[15^1.6000881016]=76<   79 83
[16^1.6000881016]=84<   89
[17^1.6000881016]=93<   97 101
[18^1.6000881016]=101<  103 107 109
[19^1.6000881016]=111<  113
[20^1.6000881016]=120<  127
[21^1.6000881016]=130<  131 137 139
[22^1.6000881016]=140<  149
[23^1.6000881016]=150<  151 157
[24^1.6000881016]=161<  163 167
[25^1.6000881016]=172<  173 179 181
[26^1.6000881016]=183<  191 193
[27^1.6000881016]=195<  197 199
[28^1.6000881016]=206<  211
[29^1.6000881016]=218<  223 227 229
[30^1.6000881016]=230<  233 239 241
[31^1.6000881016]=243<  251
[32^1.6000881016]=256<  257 263 269
[33^1.6000881016]=269<  271 277 281
[34^1.6000881016]=282<  283 293
[35^1.6000881016]=295<  307
[36^1.6000881016]=309<  311 313 317
[37^1.6000881016]=323<  331 337
[38^1.6000881016]=337<  347 349
[39^1.6000881016]=351<  353 359
[40^1.6000881016]=365<  367 373 379
[41^1.6000881016]=380<  383 389
[42^1.6000881016]=395<  397 401 409
[43^1.6000881016]=410<  419 421
[44^1.6000881016]=426<  431 433 439
[45^1.6000881016]=441<  443 449 457
[46^1.6000881016]=457<  461 463 467
[47^1.6000881016]=473<  479 487
[48^1.6000881016]=489<  491 499 503
[49^1.6000881016]=506<  509 521 523
[50^1.6000881016]=523<
[51^1.6000881016]=539<  541

 

... のあとの括弧は、素数の個数です。

 

 

ではでは