코드예시👨🏻‍💻▶️ 파이썬

파이썬 자릿수의 팩토리얼을 더하면 자기자신이 되는 숫자 판별

코뮤니티 2020. 10. 21. 23:32

문제 내용

숫자 145에는 신기한 성질이 있다.

각 자릿수의 팩토리얼(계승)을 더하면 자기 자신이 된다. (즉, 1!+4!+5! = 1+24+120 = 145이다.)

자연수 n을 입력 받고, 그 수가 145처럼 각 자릿수의 팩토리얼을 더해서 자기 자신이 되면 True를, 아니면 False를 출력하는 프로그램을 작성하시오. 

 

문제 풀이

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
145
True

# 입력 예시 2
23
False

 

 

 

나와 어울리는 개발자 유형 찾기

MBTI로 알아보는 개발자 유형 내 안의 개발자를 찾아서...⭐

comu.codeuniv.kr

참고

 

팩토리얼 출력 프로그램 질문

대한민국 모임의 시작, 네이버 카페

cafe.naver.com