阿姆斯特朗数(Armstrong number)是指一个 n 位正整数等于其各位数字的 n 次方之和。例如,153 是一个阿姆斯特朗数,因为 1^3 + 5^3 + 3^3 = 153。又称水仙花数
原理:
阿姆斯特朗数是一个 n 位正整数等于其各位数字的 n 次方之和。假设一个 n 位正整数可以表示为 num
,则其各位数字可以表示为 num % 10
、num // 10 % 10
、num // 10 // 10 % 10
、…、num // 10 // 10 // ... // 10 % 10
(共 n 个 //
),其中 //
表示整除运算。根据阿姆斯特朗数的定义,各位数字的立方和应该等于原数字,即 (num % 10 ** 3) + (num // 10 % 10 ** 3) + (num // 10 // 10 % 10 ** 3) + ... + (num // 10 // 10 // ... // 10 % 10 ** 3) == num
。
下面是一个 Python 函数,用于判断一个给定的整数是否为阿姆斯特朗数:
当然可以,以下是您提供的代码的带注释版本:
def is_armstrong(num)