ハッピー数

ハッピー数（ハッピーすう、happy number）とは、自然数の各桁を1桁に分解して二乗和を取り、新しくできた数についても同じ処理を繰り返し行って、最終的に1となる数を指す。
例えば19に上の規則を適用すると、
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
12 = 1 ...
となる。数列が1（の繰り返し）で終るため、19はハッピー数である。

ハッピー数の考え方が初めて示されたのは、ロシアと考えられている。

概要
負でない整数の各桁の数字を分解し、2乗和を取る。この変換をハッピー関数という。できた新しい数で同じ変換を行う。こうしてできた数列をハッピー列と呼ぶ。ハッピー列が1となった場合、以後はずっと1が続く。ハッピー列が1で終る数がハッピー数である。ハッピー数は無数にあり、そのうち最小は1である。

500以下のハッピー数は次の通り:
1, 7, 10, 13, 19, 23, 28, 31, 32, 44, 49, 68, 70, 79, 82, 86, 91, 94, 97, 100, 103, 109, 129, 130, 133, 139, 167, 176, 188, 190, 192, 193, 203, 208, 219, 226, 230, 236, 239, 262, 263, 280, 291, 293, 301, 302, 310, 313, 319, 320, 326, 329, 331, 338, 356, 362, 365, 367, 368, 376, 379, 383, 386, 391, 392, 397, 404, 409, 440, 446, 464, 469, 478, 487, 490, 496 .

ある数字がハッピー数なら、桁の順番を入れ替えた数もハッピー数となる。例えば19はハッピー数なので、91はハッピー数である。また、途中に0を挿入した数もハッピー数となる。例えば109や1090はハッピー数である。0を含む数を除き、桁の順番を入れ替えてできる最小の数のハッピー数だけを並べると、1000までは次のようになる。

1, 7, 13, 19, 23, 28, 44, 49, 68, 79, 129, 133, 139, 167, 188, 226, 236, 239, 338, 356, 367, 368, 379, 446, 469, 478, 556, 566, 888, 899.

驚くべきことに、ハッピー数のは存在しない。ハッピー数の上限密度は0.18577より大きく、下限密度は0.1138より小さい。

ハッピー列
ハッピー関数、ハッピー列のどちらも、ハッピー数以外に当てはめることもできる。

ハッピー列は、最終的に循環列となる。例えば4のハッピー列は、
4, 16, 37, 58, 89, 145, 42, 20, 4, ...
となり、周期8の循環列を作る。5のハッピー列は、
5, 25, 29, 85, 89, 145, 42, 20, 4, 16, 37, 58, 89, ...
となり、途中から周期8の循環列となる。ハッピー列は1か4に到達するため、ハッピー列に表れる循環列の周期は常に有限（1または8）である岡本茂 ハピー数について、千葉敬愛短期大学紀要 22, 17-20, 2000-02。

ハッピー数の定義上、ある数からのハッピー列に1以外で既に出た数が再び出れば、その数はハッピー数ではないことになるが、ハッピー数でない数の場合のハッピー列の循環列は前述の4を含む「4, 16, 37, 58, 89, 145, 42, 20」の1通りしかない。それゆえ、「ハッピー列が4に到達すれば、その数はハッピー数ではない」と言い換えることもできる。

特殊なハッピー数
 連続するハッピー数で最小の数は 1, 31, 1880, 7839,…である。() 
44488から44492までは、5連続でハッピー数であるRobert Styer Smallest examples of strings of consecutive happy numbers, 
2000 Mathematics Subject Classiﬁcation。
任意の数だけ連続するハッピー数・アンハッピー数が存在するE. El-Sedy and S. Siksek, On happy numbers, Rocky Mountain J. Math., 30(2000), 565-570.。
ハッピー数の内、500以下で素数でもあるものは次の通り。ハッピー素数（happy prime）とも呼ばれる。
7, 13, 19, 23, 31, 79, 97, 103, 109, 139, 167, 193, 239, 263, 293, 313, 331, 367, 379, 383, 397, 409, 487()
10  + 7426247 + 1 はハッピー素数であり、回文素数 でもある。
ハッピー素数が無数にあるかは分かっていない。2010年時点で知られている最も大きなハッピー素数は、である。

多次元のハッピー数
ここまでは2乗和について説明したが、n次元についても論じることができる。引数xを処理するハッピー関数を

で表すと、最初の19の例では

と表すことができる。

ハッピー数は、本来は最終的に1となる数のみを指すが、「最終的に周期1のハッピー列となるもの」と定義すれば、ハッピー列の終わりは、2次元では0と1の2種、3次元では0, 1, 153, 370, 371, 407の3種、4次元では0, 1, 8208の4種である。周期1のハッピー列に現れる終わりの数字の種類は、各次元で有限個である。

コンピュータプログラムの例
ある数がハッピー数であるかどうかを調べるには、コンピュータを使うのが便利である。Pythonを使ったプログラムの例は次の通りHappy Number Rosetta Code。
SQUARE = dict([(c, int(c) ** 2) for c in "0123456789"])
def is_happy(n):
  s = set()
  while (n > 1) and (n not in s):
    s.add(n)
    n = sum(SQUARE[d] for d in str(n))
  return n == 1

 数学以外での登場 
イギリスのSFテレビドラマ『ドクター・フー』新シリーズのシーズン3第7話『42』で、太陽に衝突しようとする宇宙船のドアを開けるキーワードとして (313, 331, 367, 379) の4つのハッピー素数が登場する。

参考文献

関連文献・外部リンク
Walter Schneider, Mathews: Happy Numbers.

Happy Numbers at The Math Forum.

 Reg Allenby page

関連項目
幸運数

Category:数学パズル
Category:数学に関する記事
Category:整数の類