4番目以降のメルセンヌ数は30n+1か30n+7である。
メルセンヌ数は素数であるので、素数候補式30n+Pに含まれる。
実際、4番目以降のメルセンヌ数は30n+1か30n+7である。
また、メルセンヌ数は、2^a-1であり、等比級数の和の公式から、
2^a-1
------=1+2+2^2+2^3+2^4+・・・+2^(a-1)
2-1
2^a-1=1+2+2^2+2^3+2^4+・・・+2^(a-1)
これより、メルセンヌ数は2進数では1が並んだ数である。
たとえば、1が並んだ数は、
1001001
____________
111)111111111 9個並んだ数
より、111111111=111x1001001となる。
一般に1が、n個並んだ数において、nが素因数分解できれば、たとえば、n=15=3x5より、
1 001 001 001 001
______________________
111)111 111 111 111 111 15個並んだ数
より111(3個)で割り切れる。また、
1 00001 00001
______________________
11111)11111 11111 11111 15個並んだ数
より11111(5個)でも割り切れる。
さて、メルセンヌ数と30n+1は、
2^a-1=30n+1
2^a-2=30n
2^(a-1)-1=15n
メルセンヌ数はaが素数であるので、a-1は偶数の合成数である。
2^(a-1)-1=1+2+2^2+2^3+2^4+・・・+2^(a-2)
より、2^(a-1)-1は、1が偶数個並んだ数であり、その数は合成数である。
そこで、15は2進数1111であるから、2^(a-1)-1は、1が偶数個並んだ数であり、4個並んだ数で割り切れる。
つまり、a-1は、4の倍数である。
また、メルセンヌ数と30n+7は、
2^a-1=30n+7
2^a-8=30n
2^(a-1)-4=15n
2^(a-1)-4=15n
2^2{2^(a-3)-1}=15n
よりnは4の倍数であり、
2^(a-3)-1=1+2+2^2+2^3+2^4+・・・+2^(a-4)
より、2^(a-3)-1は、1が偶数個並んだ数であり、その数は合成数である。
そこで、15は2進数1111であるから、2^(a-3)-1は、1が偶数個並んだ数であり、4個並んだ数で割り切れる。
つまり、a-3は、4の倍数である。
さて、30n+Pには、P=11,13,17,19,23,29もあるが、
2^a-1=30n+P
P+1=2qとして、
2^a-2q=30n
2^(a-1)-q=15n
P=11,13,17,19,23,29のとき、q=6,7,9,12,15で、
2^(a-1)-q=15n
を成り立たせることはできない。
メルセンヌ数は、1が並んだ数であるが、wikipediaより、
7以上の
2^3-1=30n+7
2^5-1=30n+1
2^7-1=30n+7
2^13-1=30n+1
2^17-1=30n+1
2^19-1=30n+7
2^31-1=30n+7
2^61-1=30n+1
2^89-1=30n+1
2^107-1=30n+7
2^127-1=30n+7
2^521-1=30n+1
2^607-1=30n+7
2^1279-1=30n+7
2^2203-1=30n+7
2^2281-1=30n+1
2^3217-1=30n+1
2^4253-1=30n+1
2^4423-1=30n+7
2^9689-1=30n+1
2^9941-1=30n+1
2^11213-1=30n+1
2^19937-1=30n+1
2^21701-1=30n+1
2^23209-1=30n+1
2^44497-1=30n+1
2^86243-1=30n+7
2^110503-1=30n+7
2^132049-1=30n+1
2^216091-1=30n+7
2^756839-1=30n+7
2^859433-1=30n+1
2^1257787-1=30n+7
2^1398269-1=30n+1
2^2976221-1=30n+1
2^3021377-1=30n+1
2^6972593-1=30n+1
2^13466917-1=30n+1
2^20996011-1=30n+7
2^24036583-1=30n+7
2^25964951-1=30n+7
2^30402457-1=30n+1
2^32582657-1=30n+1
2^37156667-1=30n+7
2^42643801-1=30n+1
2^43112609-1=30n+1
2^57885161-1=30n+1
2^74207281-1=30n+1
2^77232917-1=30n+1
2^82589933-1=30n+1
以上からして、7以上のメルセンヌ数は、30n+P型の素数で、30n+1、30n+7しかとらない。
>さて、30n+Pには、P=11,13,17,19,23,29もあるが、
2^a-1=30n+P
P+1=2qとして、
2^a-2q=30n
2^(a-1)-q=15n
P=11,13,17,19,23,29のとき、q=6,7,9,12,15で、
2^(a-1)-q=15n
を成り立たせることはできない。
P=11,13,17,19,23,29のとき、P+1=2qに代入すると、q=6,7,9,10,12,15で、
2^(a-1)-q=15nに代入すると、2^(a-1)=15n+6,9,10,12,15の場合は3または5でくくれるのであり得ませんが、
2^(a-1)=15n+7の場合は「2^(a-1)-q=15nを成り立たせることはできない」証明はされたのでしょうか。
一応、n=1000くらいまではプログラミングを組んでありませんでしたが。
for n in range(1,1001):
expr = 15*n + 7
if list(bin(expr)).count('1') == 1:
print('OK')
else:
print('NG')
2^1,2^2,2^3,2^4,…を15で割った余りは
2,4,8,1,2,4,8,1,…となりますので
15n+7になることはないですね。
また、元の問題は最初からmod30で考えると簡単です。
2^1,2^2,2^3,2^4,…を30で割った余りは
2,4,8,16,2,4,8,16,…
のようになりますので、2^a-1=30n+1,3,7,15しかあり得ません。
よって素数になる場合は30n+1,7のみです。
らすかるさん、ありがとうございます。勉強になりました。
>さて、メルセンヌ数と30n+1は、
2^a-1=30n+1
2^a-2=30n
2^(a-1)-1=15n
メルセンヌ数はaが素数であるので、a-1は偶数の合成数である。
2^(a-1)-1=1+2+2^2+2^3+2^4+・・・+2^(a-2)
より、2^(a-1)-1は、1が偶数個並んだ数であり、その数は合成数である。
そこで、15は2進数1111であるから、2^(a-1)-1は、1が偶数個並んだ数であり、4個並んだ数で割り切れる。
つまり、a-1は、4の倍数である。
2進法を使わない場合は、
2^a-1=30n+1
2^a-2=30n
2^(a-1)-1=15n
2^(a-1)-1=(2^4-1)n
因数分解の公式より、2^4m-1=(2^4)^m-1=(2^4-1){(2^4)^(m-1)+(2^4)^(m-2)+…+1}
よって、a-1は4の倍数ですね。