Math
Combination 과 nCr+1 구하기!
Dork94
2019. 3. 26. 15:39
$$_{n}C_{r}$$
n개중에 r개를 선택할 경우의 수
$$_{n}C_{r+1} = _{n-1}C_{r-1} + _{n}C_{r-1}$$
또는,
$$_{n}C_{r+1} = (n-r)/(r+1) * _{n}C_{r}$$
위와 같이 계산할 수 있음.
아래는 실제 테스트한 코드.
n = 33
r = 24
print(ncr(33,24))
print(ncr(33,25))
print((n-r)/(r+1) * ncr(33,24))
exit(0)
result :
38567100
13884156
13884156.0
물론 사용시에는 ncr이전 값을 다른 공간에 저장하고 사용하는 것이 속도를 올릴 수 있을 것 같다!
Thanks to rach