数字类型的综合实践--第4关:水仙花数

任务描述
本关任务:编写一个程序,显示所有的水仙花数
水仙花数是一个三位数,其百位、十位、个位的数字的立方之和为其数本身。
例如 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)
#代码结束

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值