利用循环实现水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
for循环(第一种)
for b in range(1,10):
for s in range(10):
for g in range(10):
num = b * 100 + s * 10 + g
sx = b ** 3 + s ** 3 + g ** 3
if num == sx:
print('水仙花数有', num)
for循环(第二种)
import math
for i in range(100,1000):
if math.pow((i,10), 3) + math.pow((i // 10 % 10), 3) + math.pow((i // 100), 3) == i:
print('水仙花数有:', i)
for循环(第三种)
for i in range(100, 1000):
# 百位
i_a = str(i)[0]
# 十位
i_b = str(i)[1]
# 个位
i_c = str(i)[2]
# 若百位的立方+十位的立方+个位的立方等于这个数本身
if int(i_a) ** 3 + int(i_b) ** 3 + int(i_c) ** 3 == i:
print("100~999之间的水仙花数有", i)
while循环
sx = 100
while sx < 1000:
g = sx % 10
s = sx // 10 % 10
b = sx // 100
sx_num = b ** 3 + s ** 3 + b ** 3
if sx == sx_num:
print('水仙花数有', sx)
sx += 1