python基础----求水仙花数

Posted jeffrey04118110

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础----求水仙花数相关的知识,希望对你有一定的参考价值。


水仙花数,即一个三位数,各个位上的数字的三次方相加,等于该数本身。
如:153 = 1**3 + 5 ** 3 + 3 ** 3

 1 def is_narc_num(n):
 2     # if n <100 or n > 999:
 3     #     return False
 4     # n = str(n)
 5     # if int(n[0])**3 + int(n[1])**3 + int(n[2]) ** 3 == int(n):
 6     #     return True
 7     # else:
 8     #     return False
 9     """
10         判断任意一个数字,是否水仙花数(不管是几位数)
11     :param n:
12     :return:
13     """
14     n = str(n)
15     length = len(n)
16     sum = 0
17     for i in range(length):
18         sum += int(n[i])**3
19     if sum == int(n):
20         return True
21     return False
22 
23 def list_narc_num(start,end):
24     list_narc = []
25     for i in range(start,end+1):
26         if is_narc_num(i):
27             list_narc.append(i)
28     return list_narc
29 
30 narc_num = list_narc_num(1,50000)
31 print(narc_num)

 

以上是关于python基础----求水仙花数的主要内容,如果未能解决你的问题,请参考以下文章

python如何求水仙花数

编程 求水仙花数

求水仙花数c语言

大一c语言求水仙花数

初学python算法100例-案例12 求水仙花数 多种不同解法

c语言编程调用函数求水仙花数