2
0

More than 1 year has passed since last update.

完全数、過剰数、不足数について

Last updated at Posted at 2022-05-03

完全数について

完全数とはある数の約数を足し合わせた数がその数になる数の事である。
ただし、その数自身は足し合わせない。

例えば、6は完全数である。
6の約数は1,2,3,6であるが6を除いた数を足し合わせると1+2+3=6になる。
この数を完全数という。

最も小さな完全数は6である。 完全数は6、28、496、8128、33550336、8589869056、……と続くが、1万以下の完全数は8128までの4つしかない。 これまでに完全数は51個見つかっている。 2018年に見つかった51番目の完全数は4900万桁以上もある。

中世の『聖書』の研究者は、「6 は『神が世界を創造した(天地創造)6日間』、28 は『月の公転周期』で、これら2つの数は地上と天界における神の完全性を象徴している」と考えたとされる。

古代ギリシアの数学者は他にもあと2つの完全数 (496, 8128) を知っていた。以来、完全数はどれだけあるのかの探求が2500年以上のちの現在まで続けられている。

6 と 28 がなぜ「完全」であるかは中世の学者の議論の対象になり、6 は神が創造した1週間(日曜日は神が天地創造を終えて休んだ安息日で、キリスト教ではこれを除外する)、28 は「月の公転周期」とされた。

聖アウグスティヌス(? - 604年)はこれとは一線を画し、「6 はそれ自体完全な数である。神が万物を6日間で創造したから 6 が完全なのでなく、むしろ逆が真である」としている。

ピタゴラスは完全数はその約数の和に等しいだけでなく、他にもいくつかエレガントな性質を持つ事に気がついた。
一例として完全数はつねに連続した自然数の和として表す事が出来る。
6 = 1 + 2 + 3
28 = 1 + 2 + 3 + 4 + 5 + 6 + 7

エウクレイデスはそれまでに見つかっていた完全数はつねに二つの数の積で表され、その一方は2のべき数、他方は次の2のべき数から1を引いたものになる事を発見した。
6 = 2^1 x ( 2^2 - 1 )
28 = 2^2 x ( 2^3 - 1 )
496 = 2^4 x ( 2^5 - 1 )
8128 = 2^6 x ( 2^7 - 1 )

今日ではコンピュータを使って完全数の探索が続けられており、2^216090 x ( 2^216091 - 1 )という十三万桁を超える巨大な数がエウクレイデスの規則に従う事がわかっている。
2005年には1830万4103桁の完全数が発見された。

約数の和がその数自身よりも1だけ小さい数はたくさんある。
ところが、約数の和がその数自身よりも1だけ大きい数は一つも存在しないようなのだ。
ギリシャ人たちは「わずかに過剰な数」を一つも見つけられず、なぜ見つけられないのかを説明することも出来なかった。

そして、2500年の時を経た今日でも、数学者たちは「わずかに過剰な数」が存在しない事を証明出来ずにいる。

余談(プログラミングにより完全数を求める)

10000までの完全数を求めるプログラム(Pythonコード)

for i in range(2,10000+1):
	sum = 0
	for j in range(1,i):
		if i%j == 0:
			sum += j;
	if i == sum:
		print(i)

実行結果

6
28
496
8128

その数の約数の和がその数より1小さい不足数はたくさんある
その数の約数の和がその数より1大きい過剰数はない

10000までの1大きい過剰数を求めるコード

for i in range(2,10000+1):
	sum = 0
	for j in range(1,i):
		if i%j == 0:
			sum += j;
	if i+1 == sum:
		print(i)

その解は無い。

10000までの1小さい不足数を求めるコード

for i in range(2,10000+1):
	sum = 0
	for j in range(1,i):
		if i%j == 0:
			sum += j;
	if i-1 == sum:
		print(i)

実行結果

2
4
8
16
32
64
128
256
512
1024
2048
4096
8192

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0