The k-digit number N is an Armstrong number if and only if the k-th power of each digit sums to N.
Given a positive integer N, return true if and only if it is an Armstrong number.
Example 1:
Input: 153
Output: true
Explanation:
153 is a 3-digit number, and 153 = 1^3 + 5^3 + 3^3.
Example 2:
Input: 123
Output: false
Explanation:
123 is a 3-digit number, and 123 != 1^3 + 2^3 + 3^3 = 36.
Note:
1 <= N <= 10^8
Solution:
class Solution {
public boolean isArmstrong(int N) {
int sum = 0;
int num = N;
int k = Integer.toString(N).length();
while (num > 0) {
int d = num % 10;
sum += (int) Math.pow(d, k);
num /= 10;
}
return sum == N;
}
}