https://www.acmicpc.net/problem/11051
문제 해결을 위한 과정
이 문제의 경우 수학적 지식이 조금은 필요한 문제였습니다. 이항 계수 5 2는 5C2로 표현할 수 있고 이는 5 * 4 / 2 *1로 나타낼 수 있습니다. 추가적으로 이 문제의 경우 overflow를 방지하기 위해 10007 mod연산을 합니다. 따라서 이를 유의하며 해결하면 쉽게 해결할 수 있습니다.
소스코드
n, k = map(int, input().split())
a, b = 1, 1
for i in range(k):
a *= n
a % 10007
n -= 1
temp = k
for i in range(temp, 0, -1):
b *= k
b % 10007
k -= 1
print((a // b) % 10007)
'알고리즘 > 백준' 카테고리의 다른 글
백준 알고리즘 11000: 강의실 배정 (Python) (0) | 2024.04.29 |
---|---|
백준 알고리즘 16943: 숫자 재배치 (Python) (0) | 2024.04.27 |
백준 알고리즘 2531: 회전 초밥 (Python) (1) | 2024.04.25 |
백준 알고리즘 2559: 수열 (Python) (0) | 2024.04.25 |
백준 알고리즘 7795: 먹을 것인가 먹힐 것인가 (Python) (0) | 2024.04.24 |