码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-11-10 10:09:56      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:print   start   lse   tar   pen   length   sum   相加   code   


水仙花数,即一个三位数,各个位上的数字的三次方相加,等于该数本身。
如: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基础----求水仙花数

标签:print   start   lse   tar   pen   length   sum   相加   code   

原文地址:https://www.cnblogs.com/jeffrey04118110/p/11828884.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!