# -*- coding: utf-8 -*-
# @Time : 2025/4/4 13:16
# @Author : write1994
# @File : lear_Narcissistic_number.py
# @Desc : 水仙花数
'''
打印出 100-999 所有的"水仙花数".
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个"水仙花数",因为 153=1 的三次方+ 5 的三次方+ 3 的三次方。
'''
# 方法一
a = 0
b = 0
c = 0
for i in range(100, 999):
a = i % 10
b = (i // 10) % 10
c = i // 100
if i == a ** 3 + b ** 3 + c ** 3:
print("水仙花数:", i)
# 方法2
sxh = []
for i in range(100, 1000):
s = 0
m = list(str(i))
for j in m:
s += int(j) ** len(m)
if i == s:
print(i)
sxh.append(i)
print("100-999 的水仙花数:%s" % sxh)