我们如何在 Python 中生成强数?


若要打印强数,我们首先来看它的定义。它是一个数字,其本身数字阶乘的总和。例如,145 是一个强数。首先,创建一个函数计算阶乘

def fact(num):
   def factorial(n):
   num = 1
   while n >= 1:
      num = num * n
      n = n - 1
   return num

运行以下代码可以打印这些数字

def factorial(n):
   num = 1
   while n >= 1:
      num = num * n
      n = n - 1
   return num

def print_strong_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
      for d in digits:
         total += factorial(d)
      if total == i:
         print(i)
print_strong_nums(1, 380)

这将给出以下输出

1
2
145

更新于: 17-6月-2020

172 次浏览

开启您的 事业

完成课程,获得认证

开始学习
广告