数学には、未解決問題というものがたくさんある。
その中の一つであるルジャンドル予想について、ちょっと思うことがあって書いてみようかなと思う。
ルジャンドル予想とは、
任意の自然数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
... のあとの括弧は、素数の個数です。
ではでは