水仙花数(自恋数)"/>
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 Trueelse:return False
还有一种方法直接返回
def solution(value):return value == sum( int(x) ** len(str(value)) for x in str(value))
希望可以帮助大家理解python的解题思维
更多推荐
python解决水仙花数(自恋数)
发布评论