水仙花数: 百位数内各个位数上的立方相加等于该数本身。
例如:153 = 13 + 53 + 3 ** 3
解题思路:转换成字符串再切割提取,最后进行相加运算判断。
for j in range(100, 1001):
string_num = "{}".format(j) # 转换成字符串,方便切割提取。
n1 = int(string_num[0]) # 百位
n2 = int(string_num[1]) # 十位
n3 = int(string_num[2]) # 个位
if n1 ** 3 + n2 ** 3 + n3 ** 3 == j:
print("{}是水仙花数".format(j))
运行结果:
153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数