백준 11050 - 이항 계수 1 (Python)

2023. 7. 28. 06:49알고리즘

문제

https://www.acmicpc.net/problem/11050

 

11050번: 이항 계수 1

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))

www.acmicpc.net

풀이

n,k = map(int,input().split())
r = 1
for i in range(n,n-k,-1):
    r*=i
for i in range(1,k+1):
    r //= i
print(r)

이항계수란 n개 중 k개를 순서 상관 없이 뽑는 경우의 수를 말한다.

이항계수의 정의

위 공식대로 계산해주면 되는 문제이며,

n ~ n-k 의 숫자를 곱해주고, k ~ 1 의 숫자를 나누어 주면 위 공식의 식을 계산한 결과가 된다.

 

이전에 풀었던 1010번 문제와 거의 똑같은 문제이며, 해당 문제를 풀 때 접했던 오차 관련 문제점은 아래 글을 참고하면 된다.

2023.07.26 - 백준 1010 - 다리 놓기 (Python)

 

백준 1010 - 다리 놓기 (Python)

문제 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수

jamie2779.tistory.com