백준 2407_조합 / Python

2024. 7. 18. 02:38백준

문제

nCm을 출력한다.

입력

n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n)

출력

nCm을 출력한다.

 

예제 입력 1 

100 6

예제 출력 1 

1192052400

from math import comb
import sys
n, m = map(int, sys.stdin.readline().split())
print(comb(n, m))

파이썬 짱 라이브러리 짱 ~

 

그래도 양심에 찔리니 라이브러리 없이 풀어볼게요

import sys
n, m = map(int, sys.stdin.readline().split())
a = n
for i in range(n-1, n-m, -1):
  a *= i
for i in range(m, 1, -1):
  a //= i
print(a)

//가 아닌 /를 쓰면 실수나눗셈을 하기 때문에 결과를 float로 반환함. 파이썬에서 int는 크기제한이 없지만 float는 있기 때문에 결과값이 클 경우 오차가 발생할 수 있음!!