문제 내용
숫자 145에는 신기한 성질이 있다. 각 자릿수의 팩토리얼(계승)을 더하면 자기 자신이 된다.
즉, 1!+4!+5! = 1+24+120 = 145이다.
자연수 n을 입력 받고, 그 수가 145처럼 각 자릿수의팩토리얼을 더해서 자기 자신이 되면 True를, 아니면 False를 출력하는 프로그램을 작성하시오.
[입력 예시 1]
145
[출력 예시 1]True
[출력 예시 2]False
[입력 예시 2]
78
문제 풀이
n = int(input())
a = n // 100
b = n //10 % 10
c = n % 10
fac1 = 1
fac2 = 1
fac3 = 1
#############
abc_list=[a,b,c]
fac_list=[fac1,fac2,fac3]
check=[]
for abc,fac in zip(abc_list,fac_list):
while 1:
fac = fac * abc
abc = abc - 1
if abc == 0 or abc < 0:
check.append(fac)
break
##############
if sum(check) == n:
print('True')
else :
print('False')
코드 결과
#입력 예시1
231
False
#입력 예시2
145
True
'독학개념 📖▶️ 파이썬' 카테고리의 다른 글
파이썬 숫자 입력받고 짝수와 홀수 개수 계산하기 (0) | 2020.10.29 |
---|---|
[파이썬 독학 개념 정리] | ⑥ 데이터 타입 3. 군집 자료형 [ list ] (0) | 2020.10.28 |
[파이썬 독학 개념 정리] | ⑤ 데이터 타입 2. 불 자료형 / 관계 연산자 및 논리연산자 (0) | 2020.10.28 |
[파이썬 독학 개념 정리] | ④ 데이터 타입 1. 수치 자료형 [ int, float, complex]과 군집 자료형 [ str ] (0) | 2020.10.28 |
[파이썬 독학 개념 정리] | ③ 파이썬 입력(input) 함수 (0) | 2020.10.28 |