Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

숫자가 강한 숫자인지 확인하는 Python 프로그램 작성

<시간/>

강력수란 무엇입니까?

강한 숫자는 자릿수의 계승의 합과 같은 숫자입니다.

145
Factorial of 1=1
Factorial of 4=24
Factorial of 5=120
Sum=1+24+120
   =145

다음 프로그램은 입력된 숫자가 강한 숫자인지 확인하는 프로그램입니다. 숫자가 강한 숫자이면 'True'를 반환하고, 그렇지 않으면 'False'를 반환합니다.

  • isStrong() 두 가지 함수를 사용하고 있습니다. 숫자가 강한지 여부를 결정하는 두 번째 방법은 factorial()입니다. 전달된 숫자의 계승을 반환합니다.

  • factorial() isStrong() 내부에서 호출됩니다. 모든 자릿수(n%10)의 계승을 가져와 합계에 더합니다.

  • 모든 자릿수의 계승을 합산한 후 합계를 원래 숫자와 비교하여 같으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • n을(를) 복사하는 이유 num으로 isStrong()에서 ? while 루프를 반복할 때 n 값은 0으로 변경됩니다. 그러나 나중에 합계와 원래 값을 비교해야 하므로 n 값을 변경하기 전에 일부 변수에 복사해야 합니다.

  • factorial() 재귀를 사용하여 숫자의 계승을 계산합니다.

예시

def factorial(d):
   if(d==1 or d==0):
      return 1
   return d*factorial(d-1)
def isStrong(n):
   num=n
   sm=0
   while(n>0):
      digit=n%10
      sm=sm+factorial(digit)
      n=n//10
   if(sm==num):
      return True
   else:
      return False
print("Input a number")
a=int(input())
print(isStrong(a))

출력

Input a number
145
True