1134. 阿姆斯特朗数 🔒
题目描述
给你一个整数 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
解法
方法一:模拟
我们可以先计算出数字的位数 \(k\),然后计算每一位上的数字的 \(k\) 次幂的总和 \(s\),最后判断 \(s\) 是否等于 \(n\) 即可。
时间复杂度 \(O(\log n)\),空间复杂度 \(O(\log n)\)。其中 \(n\) 为给定的数字。
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
|