Python/python求水仙花数

什么是水仙花数,比如一个三位数,它的个位的立方加上十位的立方再加上百位的立方等于这个数本身的话,此数叫作水仙花数.如:某三位数abc,如果满足a^3+b^3+c^3=abc,则abc是水仙花数。

超短四行:

for j in range(100, 1000):
    cc = ((j // 100) ** 3 + (j % 100 // 10) ** 3 + (j % 10) ** 3)
    if cc == j:
        print(cc, end=" ")

运行结果:

153 370 371 407

注释版:

# 筛选范围100~999,但是for语句取不到最后一个数,所以设为1000
for j in range(100, 1000):
    # 取得百位上的数值,算出该数值的3次幂
    int1 = (j // 100) ** 3
    # 取得十位上的数值,算出该数值的3次幂
    int2 = (j % 100 // 10) ** 3
    # 取得个位上的数值,算出该数值的3次幂
    int3 = (j % 10) ** 3
    # 将所有值加在一起
    cc = int1 + int2 + int3
    # 进行比较输出水仙花数
    if cc == j:
        print(cc, end=" ")

运行结果:

153 370 371 407

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值