[编程题2][牛客]水仙花数

题目描述:原题链接

 “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。

源代码@Python

 1 [m,n]=map(int, raw_input().split())
 2 res = []
 3 table = [x**3 for x in range(0,10)]
 4 
 5 for i in range(m,n+1):
 6     x1 = i/100
 7     d = i%100
 8     x2 = d/10
 9     x3 = d%10
10     if i==table[x1]+table[x2]+table[x3]:
11         res.append( str(i) )
12 if len(res):
13     print(' '.join(res))
14 else:
15     print 'no'

注:

  • 幂运算表达式a**b表示底数为a,指数为b
  • 为避免重复的执行幂运算,可先创建每个数字与它对应的三次方的表格table,通过查表获取

posted on 2017-08-17 15:51  小鱼吐泡泡  阅读(189)  评论(0编辑  收藏  举报

导航