完全数とは? 約数の和が作り出す特別な数の性質について解説!



「6や28って、なんだか特別な数字らしいけど、どういうこと?」そんな疑問を持ったことはありませんか? 実は、これらの数は 完全数 と呼ばれ、自分自身を除く約数の和がちょうど自分と等しくなるという、不思議な性質を持っています。
例えば、6の約数 は 1, 2, 3, 6。自分自身を除いた 1+2+3 を計算すると 6 になり、まさに完全数の定義にピッタリ! では、こんな特別な数はどのくらい存在するのでしょうか? また、偶数の完全数にはどんな法則があるのでしょう?
この記事では、完全数の成り立ちやその性質、さらには数が少ない理由まで、わかりやすく解説していきます!
1. 完全数
完全数とは、自分自身を除く約数の和が自分自身と等しくなる自然数のことを指します。
例えば、6は完全数です。6の約数は$1, 2, 3, 6$で、自分自身を除く約数の和は$1+2+3=6$となります。同様に、$28$も完全数であり、28の約数は$1, 2, 4, 7, 14, 28$で、自分自身を除く約数の和は$1+2+4+7+14=28$となります。また、完全数は、約数の和が自分自身の2倍に等しいということにもなります。例えば、6の場合は、6の約数は$1, 2, 3, 6$で、約数の和は$1+2+3+6=12$となります。


1.1. 完全数の例
約数の総和が完全数の2倍になる性質を6と28で確かめる。
2. 完全数を小さい順に並べる
完全数を小さい順に並べると、
$6, 28, 496, 8128, 33550336,\ldots$
$1~10000$までの間に完全数は4個しかありません。


3. 完全数の性質
- $n$が2以上の自然数であるとき、$2^{n}-1$が素数ならば、$2^{n-1}(2^{n}-1)$が完全数である。
- $n$を1以上の自然数としたとき、偶数の完全数は 、$2^n(2^{n+1}-1)$の形となる。
3.1. $2^n-1$が素数であるとき
$n$が2以上の自然数であるとき、$2^{n}-1$が素数ならば、$2^{n-1}(2^{n}-1)$が完全数である。
$2^n-1$ が素数であるとすると、その約数の総和は次のように求められる。
$$\begin{align*} & (1+2+\cdots+2^{n-1})(2^{n}-1+1) \\ &=2^n\displaystyle\sum_{i=0}^{n-1}2^i \\ &=2^n\cdot\dfrac{1(2^n-1)}{2-1} \\ &=2^n(2^n-1) \end{align*}$$
完全数の$2倍$が約数の総和となるから、$2\cdot2^{n-1}(2^n-1)$。
したがって、完全数は$2^{n-1}(2^n-1)$となる。

$2^{n}-1$が素数であるとき、その数はメルセンヌ素数と呼ばれます。
3.2. 偶数の完全数の形
nを1以上の自然数としたとき、偶数の完全数は 、$2^n(2^{n+1}-1)$の形となる。
関数 $f$ を、入力 $x$ に対してその約数の総和を返す関数とする。
偶数の完全数 $N$ を考え、$N$ が $n$ 回 $2$ で割り切れるとする。ここで、$n$ は $1$ 以上の自然数である。$N$ はある自然数 $k$ を用いて
\[ N = 2^n k \]
と表せる。このとき、$k$ は奇数であり、$N$ の約数の総和は、関数 $f$ を用いて
\[ f(N) = (1 + 2 + \cdots + 2^n) f(k) \]
と表せる。等比数列の和の公式を用いると、
\[ \begin{align*} f(N) &= \sum_{i=0}^{n} 2^i f(k)\\ &= \frac{2^{n+1} – 1}{2 – 1} f(k)\\ &= (2^{n+1} – 1) f(k) \end{align*} \]
となる。ここで、$N$ は完全数であるため、$f(N) = 2N$ が成り立つ。したがって、
\[ (2^{n+1} – 1) f(k) = 2N \]
となる。さらに、$N = 2^n k$ より、
\[ (2^{n+1} – 1) f(k) = 2^{n+1} k \]
が成立する。ここで、$2^{n+1} – 1$ は奇数、$2^{n+1}$ は偶数であるため、$f(k)$は偶数である。ある自然数 $A$ を用いて
\[ f(k) = A \cdot 2^{n+1} \]
と表せる。これを先ほどの式に代入すると、
\[ (2^{n+1} – 1) A \cdot 2^{n+1} = 2^{n+1} k \]
\[ \therefore k = (2^{n+1} – 1) A \]
となる。
ここで、$A \neq 1$ と仮定する。このとき、$f(k) = f((2^{n+1} – 1) A)$ であり、$(2^{n+1} – 1) A$ の約数には少なくとも $2^{n+1} – 1, A, 1$ が含まれる。したがって、
\[ \begin{aligned} f(k) &\geq A(2^{n+1} – 1) + A + 1 \\ &= A 2^{n+1} + 1 \end{aligned} \]
となる。一方で、$f(k) = A \cdot 2^{n+1}$ であるため、
\[ A 2^{n+1} + 1 = f(k) + 1 \]
が成立し、これは
\[ f(k) \geq f(k) + 1 \]
という矛盾を生じる。したがって、仮定は誤りであり、$A = 1$ である。
この結果を $k = (2^{n+1} – 1) A$ に代入すると、
\[ k = 2^{n+1} – 1 \]
が導かれる。したがって、完全数 $N$ は
\[ \begin{aligned} N &= 2^n k \\ &= 2^n (2^{n+1} – 1) \end{aligned} \]
と表される。
