什么是水仙花数?
介绍摘自网络。
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。水仙花数又称阿姆斯特朗数。
分析
首先,水仙花数是一个三位数,另外,它的每个位上的数字的 3次幂之和等于它本身。
抓住这两点,我们继续分析如何解题。
首先,我们可以将每一个三位数数字都验证一遍,来查看是否符合条件,我们可以使用python中的for 循环来做这件事。
另外,我们还要获取每一个三位数上每一位的数。如:123,我们应该获取百位、十位、个位上的数字分别是多少,然后进行对每一位数都进行三次方运算,最后加和,验证是否和原数相等,如果相等,就输出这个数。
代码如下:
#从100到999验证
for i in range(100,1000):
#获取每位数字
a = int(str(i)[0])
b = int(str(i)[1])
c = int(str(i)[2])
#比对是否和原数相等
if a**3+b**3+c**3 == int(i):
print(i)