用来练手的python 练习题其十三,原链接 : python练习实例13
题干 : 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方 153=13+53+33153 = 1^3+5^3+3^3153=13+53+33
源代码如下:
import numpy as np
result = np.array([])
bound = np.arange(100,1000,1)
for i in bound:cent = i//100tens = (i-cent*100)//10unit = i - 100 * cent - 10 * tensif cent**3 + tens**3 + unit**3 == i:result = np.append(result,i)
print(result)
实现起来也是比较简单,主要就是将三位数的百位十位和个位数字分别提取出来,然后判断各位数字的立方和是否等于该三位数。
输出结果如下: