昨天晚上闲暇看到水仙花的视频,我自己也做了一个,python做起来还是蛮简单的,各位参考参考!
#!/usr/bin/env python3 # -*- conding:utf-8 -*- # @Time: 2017/12/12 11:53 # @Author:Luke def is_amstrong_number(n): """ :rtype: 是水仙花数就返回True,不是就False :param n: 输入数字 :param x:是位数 :param a:是各个位数的立方 :param m:是每位上的数字 """ x = 0 y = n a = 0 while int(n) > 0: n /= 10 x += 1 # 循环相加各个数字的立方和,注意for循环里面的m是浮点型,得整数化 for i in range(x): m = (y % (10 ** (i + 1))) / (10 ** i) a += int(m) ** x if a == y: return True else: return False for i in range(100, 10000): if is_amstrong_number(i): print("水仙花数:%d" % i)