🌊
202. Happy Number
幸せな数かどうかを判定するアルゴリズムを作成してください。
幸せな数(happy number) は次のような過程によって定義されます:
- 任意の正の整数から始めます。
- 数字の各桁を二乗し、それらの合計で元の数を置き換えます。
- この処理を繰り返し、最終的にその数が 1 になる場合(そしてそれ以降ずっと1のままになる)は「幸せな数」と呼びます。
- もし1にならず、1を含まない数のループに陥る場合は「幸せな数ではありません」。
この過程が最終的に1で終わる数は「幸せな数」です。
n が幸せな数であれば true を、そうでなければ false を返してください。
例 1:
-
入力:
n = 19 -
出力:
true -
説明:
- 1² + 9² = 82
- 8² + 2² = 68
- 6² + 8² = 100
- 1² + 0² + 0² = 1(→ 幸せな数!)
例 2:
-
入力:
n = 2 -
出力:
false - (この場合、1に到達せずループに入る)
制約:
1 <= n <= 2³¹ - 1
Discussion