前回の結果を再掲載します。
2進数や16進数に馴染みがあると、ピンと来るかもしれません。上の素因数分解のところは、以下のように書き直せます。
完全数はすべての形をしています。実際、Ευκλείδης(ユークリッド)が2300年以上前に以下の定理を証明しています。
証明:
の約数は、
は素数だから、の残りの約数は、の約数にを掛けたもの。ただし、約数の中に自身も含みます。
だから、の約数は、約数すべてを足し合わせると、自身を含む約数の和が自身の2倍になっていますから、は完全数。
はMersenne数、その中の素数はMersenne素数と呼ばれています。では、Mersenne素数をMaximaで探してみましょう。
for k : 1 thru 1000 do if primep(2^k-1) then print("k=", k, "2^k-1=", 2^k-1)$
が素数なので、私たちはが完全数であるということができます。Eulerはk=31の場合を知っていたそうです。コンピュータを使ってEulerを越えることができました!
ページの頭に戻ってみると、求めた4つの完全数はすべて、Mersenne素数3, 7, 31, 127から構成されるものであることが確認できます。では完全数はすべてという形で表されるのでしょうか。
(つづく)
参考文献
- Dunham, 「オイラー入門 (シュプリンガー数学リーディングス)」