【基础入门题007】求所有三位的水仙花数

简介: 【基础入门题007】求所有三位的水仙花数

aa63fb23c4cc42c633667093a7356630.png


【基础入门题】2021.11.03

水仙花数定义:指一个正整数的各位数字的立方和等于其本身。

求出所有三位的水仙花数,即在范围(100,1000)内的水仙花数。

编程语言:包括但不限于Python

题目来源:派森特给站每日刷题频道


水仙花数一般指三位数的:

方法一:

def is_narcissistic(n):
    if not 99<n<1000:
        return False
    a,b,c = n//100, (n//10)%10, n%10
    return n==a**3+b**3+c**3
for i in range(100,1000):
    if is_narcissistic(i):
        print(i)

法二: 可以算出任意位数的水仙花数:

def is_narcissistic(n):
    i, j = 0, n
    while j:
        k = j%10
        i += k**len(str(n))
        j //= 10
    return n==i+j
for i in range(100,100000):
    if is_narcissistic(i):
        print(i)

三位水仙花数是立方和,四位的是四次方和,以此类推

方法二的100~100000间的水仙花数有:

153

370

371

407

1634

8208

9474

54748

92727

93084

目录
相关文章
|
6月前
|
算法 编译器 C语言
题目----水仙花数问题的实现以及对于数字每位数的求解原理分析
题目----水仙花数问题的实现以及对于数字每位数的求解原理分析
40 0
|
6月前
|
C语言
每天一道C语言编程(2):自守数
每天一道C语言编程(2):自守数
99 0
|
C语言
C语言实例:求水仙花数(阿姆斯壮数)和回文数(附带求一串数字的位数方法和每一位数字的计算方法)
C语言实例:求水仙花数(阿姆斯壮数)和回文数(附带求一串数字的位数方法和每一位数字的计算方法)
156 0
7-107 找出三位水仙花数
7-107 找出三位水仙花数
100 0
|
算法 C++
C/C++每日一练(20230512) 成绩打印、补齐数组、水仙花数
C/C++每日一练(20230512) 成绩打印、补齐数组、水仙花数
125 0
|
Python
【基础入门题046】多个整数的最小公倍数
【基础入门题046】多个整数的最小公倍数
60 0
|
Python
【基础入门题045】多个整数的最大公约数
【基础入门题045】多个整数的最大公约数
44 0
|
Go
Golang 007. 求所有三位的水仙花数
Golang 007. 求所有三位的水仙花数
97 0