问题描述
给你一个整数 n ,让你来判定他是否是 阿姆斯特朗数,是则返回 true,不是则返回 false。
假设存在一个 k 位数 n ,其每一位上的数字的 k 次幂的总和也是 n ,那么这个数是阿姆斯特朗数 。
示例 1:
输入:n = 153
输出:true
示例:
153 是一个 3 位数,且 153 = 13 + 53 + 33。
示例 2:输入:n = 123
输出:false
解释:123 是一个 3 位数,且 123 != 13 + 23 + 33 = 36。
提示:
1 <= n <= 108
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/armstrong-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Java
class Solution {
public boolean isArmstrong(int n) {
int t = n;
int pow = (n + "").length();
long ans = 0;
while(n > 0){
int d = n % 10;
ans += Math.pow(d,pow);
n /= 10;
}
if(ans == t) return true;
else return false;
}
}
版权声明:本文为lishifu_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。