任务描述
本关任务:编写一个程序,显示所有的水仙花数
水仙花数是一个三位数,其百位、十位、个位的数字的立方之和为其数本身。
例如 153的各数立方之和为1+125+27=153
相关知识
为了完成本关任务,你需要掌握:1.如何循环,2.如何获取三位数的各位数字。
循环
for 循环变量 in range(初值,终值,步长):
<循环体>
从初值到终值(不包含终值)逐一提取元素(每次增加步长值,步长值默认为1),放在循环变量中,对于所提取的每个元素执行一次循环体
例如 对1到10求和
s=0
for i in range(1,11,1):
s=s+i
print(s)
计算数值数据的各数字之和
即把各数位上的数字相加
例如x为两位数
示例如下:
x=56
x1=x%10(个位)
x2=x//10(十位)
print("各数位之和为",x1+x2)
输出:各数位之和为11
编程要求
根据提示,在右侧编辑器补充代码,显示所有的水仙花数。
测试说明
平台会对你编写的代码进行测试:
预期输出:
153
370
...
要努力做一个可爱的人,不埋怨谁,不嘲笑谁,也不羡慕谁,阳光下灿烂,风雨中奔跑,做自己的梦,走自己的路。
开始你的任务吧,祝你成功!
答案
#代码开始
# 遍历所有三位数(100到999)
for num in range(100, 1000):
# 分解百位、十位和个位数字
hundreds = num // 100
tens = (num // 10) % 10
units = num % 10
# 计算各位数字的立方和
cube_sum = hundreds **3 + tens** 3 + units ** 3
# 检查是否为水仙花数
if cube_sum == num:
print(num)
#代码结束
1103

被折叠的 条评论
为什么被折叠?



