Число с k цифрами называется числом Армстронга, если сумма его цифр, возведённых в степень k, равна самому числу. Например, 153 = 1³ + 5³ + 3³.
Реализуйте функцию is_armstrong(n).
Входные данные
n: неотрицательное целое число.
Выходные данные
Верните true, если n — число Армстронга.
Ограничения
0 ≤ n ≤ 10¹⁸
Примеры
Ввод:
n = 153
Ожидаемый вывод:
expected = True
Ввод:
long long n = 153;
Ожидаемый вывод:
bool expected = true;
Ввод:
long n = 153;
Ожидаемый вывод:
bool expected = true;
Пояснение
1³ + 5³ + 3³ = 1 + 125 + 27 = 153.
Ввод:
n = 10
Ожидаемый вывод:
expected = False
Ввод:
long long n = 10;
Ожидаемый вывод:
bool expected = false;
Ввод:
long n = 10;
Ожидаемый вывод:
bool expected = false;
Пояснение
1² + 0² = 1, что не равно 10.
Как подступиться
Сначала попробуйте сами, затем открывайте подсказки по одной.
Подсказка 1
Сначала посчитайте, сколько цифр в числе, и только потом суммируйте степени.
Подсказка 2
Сравните исходное число с суммой каждой цифры, возведённой в степень количества цифр.
Подсказка 3
Помните, что 0 — особый случай с одной цифрой.
Ожидаемая сложность
время O(k), доп. память O(1)
Ссылки
Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.