강한 숫자는 모든 자릿수' 계승의 합이 숫자 'n'과 같은 숫자입니다. 계승은 해당 숫자를 포함하여 해당 숫자 아래에 있는 모든 숫자의 곱을 찾을 때를 의미하며 !로 표시됩니다. (느낌표), 예:5! =5x4x3x2x1 =120. 어떤 숫자가 강한 숫자인지 확인해야 하는 경우 나머지/모듈러스 연산자와 'while' 루프를 사용할 수 있습니다.
아래는 동일한 데모입니다 -
예시
my_sum=0
my_num = 296
print("The number is")
print(my_num)
temp = my_num
while(my_num):
i=1
fact=1
remainder = my_num%10
while(i<=remainder):
fact=fact*i
i=i+1
my_sum = my_sum+fact
my_num=my_num//10
if(my_sum == temp):
print("The number is a strong number")
else:
print("The number is not a strong number") 출력
The number is 296 The number is not a strong number
설명
-
합계는 0으로 초기화됩니다.
-
번호가 정의되어 콘솔에 표시됩니다.
-
숫자는 임시 변수로 정의됩니다.
-
나머지가 결정되는 곳에 while 루프가 사용됩니다.
-
while 루프는 반복자가 나머지보다 작거나 같은지 확인하기 위해 다시 사용됩니다.
-
적으면 'fact' 변수에 반복자를 곱합니다.
-
그런 다음 1씩 증가합니다.
-
합계 값이 'fact' 변수에 추가됩니다.
-
'temp' 변수와 합이 같으면 문자열 숫자로 간주합니다.