알고리즘 풀이/백준

[백준 11050] 이항 계수1

mhko411 2021. 2. 20. 17:26
728x90

www.acmicpc.net/problem/11050

 

11050번: 이항 계수 1

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

www.acmicpc.net


접근

N! / K!(N-K)! 를 그대로 구현을 하였다.

하지만 math에서 factorial이 있다는 것을 알게되었다.

 

팩토리얼 안쓰고 구현

N, K = map(int, input().split())

D = 1
t = N-K
while N > 0:
    D *= N
    N -= 1

M = 1

while K > 0:
    M *= K
    K -= 1

while t > 0:
    M *= t
    t -= 1
print(D//M)

 

팩토리얼 연산

from math import factorial
N, K = map(int, input().split())

print(factorial(N)//(factorial(K)*factorial(N-K)))