Computer >> 컴퓨터 >  >> 프로그램 작성 >> 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