728x90
url : https://www.acmicpc.net/problem/11050
이항 계수 2 문제를 풀지 못해 이항 계수 1 문제를 풀었다.
이항 계수 2는 더 큰 팩토리얼(1000!)를 다룬다.
내일 다시 이항 계수 2 문제를 도전해볼 생각이다.
코드
#include <bits/stdc++.h>
using namespace std;
int n, k, p1, p2;
long long answer = 1;
int main(){
cin.tie(0); ios_base::sync_with_stdio(false); cout.tie(0);
// 1. 입력받기
cin >> n >> k;
p1 = k;
p2 = n-k;
// 2. 곱하면서 나누기
for(int i=n;i>=1;i--){
answer *= i;
while ((p1>1) && (answer%p1==0)) answer /= p1--;
while ((p2>1) && (answer%p2==0)) answer /= p2--;
}
while ((p1>1) && (answer%p1==0)) answer /= p1--;
while ((p2>1) && (answer%p2==0)) answer /= p2--;
// 3. 정답 출력
cout << answer;
}
728x90
'알고리즘 > 알고리즘 문제풀이' 카테고리의 다른 글
[백준] 11401 : 이항 계수 3 (0) | 2023.12.31 |
---|---|
[백준] 11501 : 이항 계수 2 (0) | 2023.12.30 |
[백준] 1655 : 가운데를 말해요, 정렬(우선순위 큐) (2) | 2023.12.28 |
[백준] 12865 : 평범한 배낭, 0/1 배낭문제 (2) | 2023.12.27 |
[백준] 5430: AC (1) | 2023.12.26 |