Python 实现水仙花数
水仙花数
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
根据定义可知:水仙花数是一个三位数,其每位的3次方的加和等于其本身
参考实现
''' 水仙花数 ''' # 存放水仙花数 num = [] # 遍历范围 100~999 for i in range(100, 1000): b = i // 100 # 百位 s = i // 10 % 10 # 十位 g = i % 10 # 个位 # 判断是否满足水仙花条件 if b ** 3 + s ** 3 + g ** 3 == i: num.append(i) print(num)
运行效果
[153, 370, 371, 407]