หากต้องการพิมพ์ 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