编写程序打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身,例如407是一个水仙花数,因为407=4³+0³+7³,(若将该题改为打印出最大的或最小的水仙花数,则应将循环语句作如何调整?
时间: 2023-05-28 13:05:51 浏览: 76
)# 打印所有的水仙花数
for i in range(100, 1000):
# 获取百位、十位、个位数字
digit_100 = i // 100
digit_10 = (i // 10) % 10
digit_1 = i % 10
# 判断是否为水仙花数
if i == digit_100 ** 3 + digit_10 ** 3 + digit_1 ** 3:
print(i)
# 打印最大的水仙花数
max_num = 0
for i in range(100, 1000):
# 获取百位、十位、个位数字
digit_100 = i // 100
digit_10 = (i // 10) % 10
digit_1 = i % 10
# 判断是否为水仙花数
if i == digit_100 ** 3 + digit_10 ** 3 + digit_1 ** 3:
max_num = i
print("最大的水仙花数为:", max_num)
# 打印最小的水仙花数
min_num = 0
for i in range(100, 1000):
# 获取百位、十位、个位数字
digit_100 = i // 100
digit_10 = (i // 10) % 10
digit_1 = i % 10
# 判断是否为水仙花数
if i == digit_100 ** 3 + digit_10 ** 3 + digit_1 ** 3:
min_num = i
break
print("最小的水仙花数为:", min_num)
阅读全文