Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เราจะสร้างตัวเลขที่แข็งแกร่งใน Python ได้อย่างไร


หากต้องการพิมพ์ Strong Numbers มาดูคำจำกัดความของตัวเลขกันก่อน เป็นตัวเลขที่เป็นผลรวมของแฟคทอเรียลของตัวเลขของตัวเอง ตัวอย่างเช่น 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