메르센 소수와 완전수
메르센 소수는 형식 의 소수이며, 그 지수
자신도 소수이며, 각각의 메르센 소수는 짝수 완전수에 대응합니다.
메르센 소수 지수의 목록을 생성합니다.
In[1]:=
![Click for copyable input](assets.ko/mersenne-primes-and-perfect-numbers/In_1.png)
mpe = Table[MersennePrimeExponent[n], {n, 1, 10}]
Out[1]=
![](assets.ko/mersenne-primes-and-perfect-numbers/O_1.png)
해당 메르센 소수를 구축합니다.
In[2]:=
![Click for copyable input](assets.ko/mersenne-primes-and-perfect-numbers/In_2.png)
mp = 2^mpe - 1
Out[2]=
![](assets.ko/mersenne-primes-and-perfect-numbers/O_2.png)
대응하는 완전수를 구축합니다.
In[3]:=
![Click for copyable input](assets.ko/mersenne-primes-and-perfect-numbers/In_3.png)
pn = 2^(mpe - 1) (2^mpe - 1)
Out[3]=
![](assets.ko/mersenne-primes-and-perfect-numbers/O_3.png)
In[4]:=
![Click for copyable input](assets.ko/mersenne-primes-and-perfect-numbers/In_4.png)
AllTrue[pn, PerfectNumberQ]
Out[4]=
![](assets.ko/mersenne-primes-and-perfect-numbers/O_4.png)
작은 메르센 소수의 지수 분포가 얼마나 성근지의 여부를 보기 위해 처음 225개를 소수 목록에서 빨간색으로 강조합니다.
In[5]:=
![Click for copyable input](assets.ko/mersenne-primes-and-perfect-numbers/In_5.png)
primes = Replace[Prime@Range[225],
x_?MersennePrimeExponentQ :> Style[x, Red, Bold], 1];
In[6]:=
![Click for copyable input](assets.ko/mersenne-primes-and-perfect-numbers/In_6.png)
Multicolumn[primes, Alignment -> {Center, Center}, Spacings -> {1, 1},
Frame -> All, FrameStyle -> Directive[Orange, Dashing[Small]]]
Out[6]=
![](assets.ko/mersenne-primes-and-perfect-numbers/O_5.png)