zoukankan      html  css  js  c++  java
  • python3练习100题——013

    熟悉的水仙花数来了,,,。。。

    原题链接:http://www.runoob.com/python/python-exercise-example13.html

    题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

    我的代码:

    def fun():
        num=[]
        for i in range(100,1000):
            a=i//100
            b=(i//10)-10*a
            c=i%10
            if a**3+b**3+c**3==i:
                num.append(i)
        return num
                
    if __name__ == '__main__':
        print(fun())

     思考:

    题目要求的水仙花数,指的是三位的自幂数。

    又实现了个想法,一次算出更多位的自幂数:

    def narcissistic():
        count=[]
        li=[]
        for i in range(100,100000):
            s=0
            number=str(i)
            for j in number:        #用了个for循环,代替上述代码取数字的每个位上的数
                s+=int(j)**len(number)
            if s==i:
                count.append(i)
        return count
                
    if __name__ == '__main__':
        print(narcissistic())

    这样,range内部的自幂数都可以算出来了。

    而且改变range也可以算,这个比上面的代码普适得多。

  • 相关阅读:
    quick cocos naja
    quick cocos sprite 3 zhongfangshi
    quick cocos moveto
    quick cocos animate2
    quick cocos animate
    quick cocos schedule
    quick cocos scheduler update
    【leetcode】括号的最大嵌套深度
    【leetcode】删除某些元素后的数组均值
    【leetcode】二叉树的最小深度
  • 原文地址:https://www.cnblogs.com/drifter/p/9115369.html
Copyright © 2011-2022 走看看