如何用 Python 打印水仙花数(阿姆斯特朗数)?


要打印水仙花数,我们先来看看它的定义。水仙花数是一个数字,它等于自身每一位数字的幂之和,幂的指数等于数字的位数。例如,1、153、370 都是水仙花数。你可以运行以下代码来打印这些数字

def print_narcissistic_nums(start, end):
for i in range(start, end + 1):
   # Get the digits from the number in a list:
   digits = list(map(int, str(i)))
   total = 0
   length = len(digits)
   for d in digits:
      total += d ** length
   if total == i:
      print(i)
print_narcissistic_nums(1, 380)

这将输出以下结果

1
2
3
4
5
6
7
8
9
153
370
371

更新于:17-06-2020

311 次浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告