多重完全数

| コメント(2) | トラックバック(0)

完全数を拡張した、多重完全数を次のように定義する。
先ず、nの約数の和を表す関数を、オイラーに従い、σ(n)と置く。σ(n)には、n自身も含まれる。すると、完全数とは、σ(n) = 2nなのであった。

そこで、2以上の自然数kをもって、σ(n) = knであるとき、nをk完全数と呼ぶ。

そこで、下記の簡単なプログラムで、100000000以下のk完全数を求めてみる。
すると、下記までは一瞬で求まる。
k:    n
=========
2;     6
2:    28
3:   120
2:   496
3:   872
2:  8172
4: 30240
4: 32780


そこで問題:
(1) 2以上の任意の自然数kに対して、k完全数は存在するか。これはそうだろうと予想されている。証明はされていない。
(2) 2以上の任意の自然数kに対して、k完全数は無限に存在するか。k = 2のときは、普通の完全数なので、メルセンヌ素数の無限性の予想に帰着させることができる。しかし、3以上の任意の自然数kに対して、k完全数は有限個しかないかもしれない。証明はされていない。
(3) 特に、3完全数は、今まで6個見つかっている。上記の120と872が、そのうちの2個である。果たして、3完全数は、その6個に限られるか。
(4) デカルトは、1623年に、5完全数14182439040をみつけた。でもどうやって見つけたのだろう。下記の素朴なプログラムでは、この5完全数14182439040をみつけるには、信じられないくらい膨大な時間がかかる。ましてやデカルトには、コンピュータはない。多分、なんらかの素因数分解を利用するような気がするが、相当難しそうである。

 

#include <stdio.h>

int main()   {

int n;
int i;
int s;

for ( n = 2; n < 100000000; n++ )   {

 i = 1;
 s = 0;
 while ( i <= n/2 )     {
  if (( n % i ) == 0 )   {
 s += i;
  }
  i++;
 }
 s += n;
 
 if ((s%n) == 0 )    {
 
 printf("%2d : %10d\n",s/n, n);
 }
 
}

 return 0;
}

トラックバック(0)

トラックバックURL: http://commutative.world.coocan.jp/mt/mt-tb.cgi/1417

コメント(2)

>(4) デカルトは、1623年に、5完全数14182439040をみつけた。でもどうやって見つけたのだろう。下記の素朴なプログラムでは、この5完全数14182439040をみつけるには、信じられないくらい膨大な時間がかかる。ましてやデカルトには、コンピュータはない。多分、なんらかの素因数分解を利用するような気がするが、相当難しそうである。

これについては、「プライムナンバーズ: 魅惑的で楽しい素数の事典」のp200-201に記載されています。ある既存の完全数からある規則に従って新しい完全数を計算する手法を使っています。

ISSEIさん

>これについては、「プライムナンバーズ: 魅惑的で楽しい素数の事典」のp200-201に記載されています。

そうなんですか、地道な努力と、才能の混合なのですね。

コメントする

このブログ記事について

このページは、あやたろうが2009年8月17日 06:44に書いたブログ記事です。

ひとつ前のブログ記事は「仕事と趣味」です。

次のブログ記事は「欲望の鼓吹」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。