要求:打印输出标准水仙花数,输出这些水仙花数
代码如下:
#方法一
for i in range(100,1000):
# 循环的范围是100-999
a = i // 100
# 百位为i 整除 100
b = i // 10 % 10
# 十位为i 整除 10 得到一个两位数再取余 10 得到这个两位数的个位(也就是我们这个三位数的十位)
c = i % 10
# 个位为i 整除 10
if a ** 3 + b ** 3 + c ** 3 == i:
print(f"水仙花数有:{i}")
#方法二
for i in range(1, 10):
for j in range(0, 10):
for k in range(0,10):
# 使用三层嵌套循环,第一层为百位范围1-9,第二层为十位0-9,第三层为个位0-9
# 如果满足水仙花数的要求就输出
if i**3 + j**3 + k**3 == i*100 + j*10 + k:
print(i**3 + j**3 + k**3)
#方法三
for n in range(100, 1000):
s = str(n)
# 将三位数转换成字符串
sum_num = 0
for i in s:
sum_num += int(i) ** 3
# 遍历字符串中的每一个字符,求立方和
if sum_num == n:
print(n)