【LeetCode(Java) - 1134】阿姆斯特朗数
【LeetCode(Java) - 1134】阿姆斯特朗数
文章目录
1、题目描述
2、解题思路
3、解题代码
1、题目描述
2、解题思路
??1、统计数字 N 的位数。可以把N变为字符串然后求长度,也可以对N进行除以10取整,直到N变为0,统计除了多少次;
??2、得到 N 的位数 e 后,遍历 N 的每一位数,计算它的 e 次方,然后累加得到 sum;
??3、返回 N == SUM;
3、解题代码
class Solution {
public boolean isArmstrong(int N) {
int e = 1; // N 的位数
int n = N;
while ((n /= 10) != 0) e++;
n = N;
int sum = 0; // 每一位上的数字的 k 次幂的总和
while (n != 0) {
sum += (int) Math.pow(n % 10, e);
n /= 10;
}
return N == sum;
}
}
【LeetCode(Java) - 1134】阿姆斯特朗数相关教程