본문 바로가기
프로그램/Python 1000제

Python 25제] 2021년 한국정보올림피아드 1차 대회 1교시 중등부 사고력 문제 1. 다른 모자 쓰기

by 건티 2021. 10. 22.
728x90

출처 : 반크 독도포스터

 

문제]

N명의 사람이 있다.
이 사람들은 모두 서로 다른 모자를 쓰고 있는데, 이 모자를 벗어서 모아두었다가 다시 모자를 쓴다. 모자를
쓰는 방법의 수는 총 N! = N × (N − 1) × · · · × 1가지이다.
이 중, 어떤 사람도 자신이 처음 썼던 모자를 다시 쓰지 않는 방법의 수는 N = 2이면 1가지, N = 3이면 2
가지이다. N = 4이면 몇 가지가 있는가?

 

정답]

9

 

 

참고풀이]

def Fac(n):
    if n==1:
        return 1
    return n*Fac(n-1)

def Count(X):
    result=0
    for a in range(2,X+1):
        if a%2==0:
            result += int(Fac(X)/Fac(a))
        else:
            result -= int(Fac(X)/Fac(a))
    return result

#N명을 입력한다.
N=int(input())
print(Count(N))

 

참고풀이 결과]

 

 

대한민국의 아름다운 영토, 독도의 여름

 

반응형

댓글