美文网首页
水仙花数

水仙花数

作者: 火头陀 | 来源:发表于2018-12-10 21:17 被阅读0次

问题

打印出所有的 水仙花数

问题分析

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

拓展知识

水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。
附:其他位数的自幂数名字
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数

算法实现


#水仙花数
#三位数=每位数的3次幂只和
#算法复杂度 O(n)

def getNarcissisticNum():
    data = []
    for number in range(100, 1000):
        s = "%d" % number
        firstNum = int(s[0])
        secondNum = int(s[1])
        thirdNum = int(s[2])

        if firstNum**3 + secondNum ** 3 + thirdNum ** 3 == number:
            data.append(number)
    return data

if __name__ == '__main__':
    print getNarcissisticNum()

相关文章

  • 算法题目-水仙花数

    题目: 打印出所有的水仙花数 水仙花数 水仙花数(Narcissistic number)也被称为超完全数字不变...

  • JS代码题15——水仙花数

    给出n,找到所有的n位十进制水仙花数。 样例: 首先,什么是水仙花数? 在数论中,水仙花数(Narcissisti...

  • 水仙花问题 -- Java描述

    水仙花问题 -- Java描述 题目: 编程求出 100~999 的所有的水仙花数(所谓“水仙花数”是指一个3位数...

  • Rust语言编程实例100题-013

    Rust语言编程实例100题-013 题目:经典水仙花数问题。打印出所有的"水仙花数",所谓"水仙花数"是指一个三...

  • Java 复习题

    1.水仙花数 打印出100-999所有的“水仙花数”。 思路: 水仙花数是指一个 n 位数 ( n≥3 ),它的每...

  • 水仙花数——Python

    水仙花数打印出 100-999 所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数 字立方和等于该数本身...

  • 【Java基础】-案例学习

    案例1:在控制台输出所有的“水仙花数” 什么是水仙花数:1.水仙花数是一个三位数,如:111,222,333,37...

  • Python 练习作业 001

    #练习 '''从控制台输入一个三位数,如果是水仙花数就打印“是水仙花数”,否则打印“不是水仙花数”153=1^3...

  • 自学Python:寻找水仙花数

    什么是水仙花数? 水仙花数是指一个三位数,其各位数字的立方和等于该数本身,例如,153是“水仙花数”,因为153=...

  • Java案例-求出所有的水仙花数

    Java案例 求出所有的水仙花数 案例分析 输出水仙花数,所谓的水仙花数是指一个3位数,其各个位数立方和等于其本身...

网友评论

      本文标题:水仙花数

      本文链接:https://www.haomeiwen.com/subject/setjhqtx.html