python解决水仙花数(自恋数)

用python解决水仙花数:

首先要了解一下什么是水仙花数,举个栗子:

153 = 1^3 + 5^3 + 3^3 

每个位上的数字相乘三位数(3)

显而易见,我们要先把每个位数的数字遍历出来,然后在乘位数的次数

这里采用的是运算符 ** ,math.pow(x,y)也应该可以执行,先用第一种吧:

问题给出任意的数字判断是否为水仙花数,如果正确return True 错误 return False

开始撸码了

def solution(value):
    n = len(str(value))
    sum = 0 
    for i in str(value):
        sum += int(i) ** int(n)
        
    if sum == value:
        return True
    else:
        return False

还有一种方法直接返回

def solution(value):
    return value == sum( int(x) ** len(str(value)) for x in str(value))

希望可以帮助大家理解python的解题思维

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值