プロが教える店舗&オフィスのセキュリティ対策術

その数が完全数かどうかを判定するのは容易にできますが、

ある数よりも大きい自然数の中で、最小の完全数を見つけたい場合、
そのすべてを調べて行く方法以外に良い方法はありますか?

方程式を作ってみようとしましたが、上手くいきません。

ヒントだけでも良いのでお願いいたします。

A 回答 (3件)

奇数の完全数についてはあるのかないのかすらまだわかっていませんが、偶数の完全数についてはユークリッド原論にも式が書かれていて、それがすべてであることがオイラーによって証明されています。



Nが偶数の完全数であるための必要十分条件は、(2^k)-1が素数になるような自然数kを用いて
N=(2^(k-1))((2^k)-1)
と書けることである。

なお、(2^k)-1が素数になるためにはkが素数でなければならないことが容易に示されます(kが素数でも(2^k)-1が素数でない場合はある)ので、kに素数を代入しながら確かめれば偶数の完全数を並べることができます。
なお、この(2^k)-1の形をした数をメルセンヌ数といいます。メルセンヌ数が素数かどうかはうまい判定法があるため、現在大きな素数を探す時は、だいたいメルセンヌ素数を探すようにしています。実際今確認されている最大の素数もその次の素数もメルセンヌ素数ですし、したがって、それを用いて巨大な完全数を計算できる理屈になります。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

メルセンヌ数について調べてみます。

お礼日時:2012/06/13 00:04

完全数を求める公式を作った人がいます。



http://ameblo.jp/masanori432/entry-10033798312.h …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
リンク先、これから詳しく読んでみます。

お礼日時:2012/06/13 00:04

完全数がどういう分布になっているかをネットで調べてみてください。



確か、そんな効率的なものはなかった気がします。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
ひとつひとつ地道に調べるということですね。

お礼日時:2012/06/13 00:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!