問題
原文(英語)を表示k 桁の数が、各桁の値を k 乗して合計した値とその数自身が等しい場合、その数はアームストロング数です。例えば、153 = 1³ + 5³ + 3³ です。
is_armstrong(n) を実装してください。
入力
n: 非負の整数。
出力
n がアームストロング数であれば true を返してください。
制約
0 ≤ n ≤ 10¹⁸
例
例 1
入力:
n = 153
期待される出力:
expected = True
入力:
long long n = 153;
期待される出力:
bool expected = true;
入力:
long n = 153;
期待される出力:
bool expected = true;
解説
1³ + 5³ + 3³ = 1 + 125 + 27 = 153。
例 2
入力:
n = 10
期待される出力:
expected = False
入力:
long long n = 10;
期待される出力:
bool expected = false;
入力:
long n = 10;
期待される出力:
bool expected = false;
解説
1² + 0² = 1 であり、10 ではありません。
参考資料
この課題はCodeUtility用に調整されています。上記の説明と制約に従ってください。