Сложность: easy
Дано целое число n, верните true, если и только если оно является числом Армстронга.
k-значное число n является числом Армстронга, если сумма k-й степени каждой его цифры равна n.
Пример:
Input: n = 153
Output: true
Explanation: 153 is a 3-digit number, and 153 = 1^3 + 5^3 + 3^3.
👨💻 Алгоритм:
1⃣Получите количество цифр в n, преобразовав его в строку и найдя длину.
2⃣Создайте функцию getSumOfKthPowerOfDigits(n, k), которая возвращает сумму k-й степени каждой цифры числа n.
Инициализируйте переменную result для хранения результата.
Пока n не равно 0, добавляйте k-ю степень последней цифры n к result и удаляйте последнюю цифру.
3⃣Верните true, если результат равен исходному числу n.
😎 Решение:
public class Solution {
public int GetSumOfKthPowerOfDigits(int n, int k) {
int result = 0;
while (n != 0) {
int digit = n % 10;
result += (int)Math.Pow(digit, k);
n /= 10;
}
return result;
}
public bool IsArmstrong(int n) {
int length = n.ToString().Length;
return GetSumOfKthPowerOfDigits(n, length) == n;
}
}Ставь 👍 и забирай 📚 Базу знаний