题目
- 假设存在一个 k 位数 N,其每一位上的数字的 k 次幂的总和也是 N,那么这个数是阿姆斯特朗数。
- 给你一个正整数 N,让你来判定他是否是阿姆斯特朗数,是则返回 true,不是则返回 false。
示例 1:
输入:153
输出:true
153 是一个 3 位数,且 153 = 1^3 + 5^3 + 3^3。
示例 2:
输入:123
输出:false
解释:
123 是一个 3 位数,且 123 != 1^3 + 2^3 + 3^3 = 36。
提示:
1 <= N <= 10^8
代码
class Solution {
public boolean isArmstrong(int N) {
char[] chars = String.valueOf(N).toCharArray();
int l = chars.length;
int sum = 0;
for (int i = 0; i < chars.length; i++) {
sum += Math.pow(chars[i] - 48, l);
}
return sum == N;
}
}
结果
用时 | 内存 |
---|---|
击败100.00% | 击败40.00% |
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/armstrong-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。