Menu
CoddyTech

Armstrong Number

如果一个正整数等于它的各位数字分别取其位数次幂后相加的和,它就是阿姆斯特朗数。153有三位,且1^3 + 5^3 + 3^3 = 153,所以它是阿姆斯特朗数。编写一个函数,接收n,如果它是阿姆斯特朗数就返回true,否则返回false。

函数

isArmstrong(n: integer) → boolean
ninteger
要测试的正整数
返回值boolean
当 n 等于各位数字分别自乘位数次后所得结果的总和时为 true

约束条件

  • 1 ≤ n ≤ 109

示例

输入
n = 153
输出
true
解释
153 有 3 位数,因此每一位都要立方:1 + 125 + 27 = 153。总和等于原来的数字,所以答案是 true。
challenge icon

进阶

在 1 和 10^9 之间只有 31 个阿姆斯特朗数。你能不逐个测试 10 亿个数字,把它们全部列出来吗?

重置代码
def isArmstrong(n):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

n = 153

预期输出

true