Search

이항계수

생성일
2023/01/29 06:34
태그
C++

이항계수

이항계수 공식

nCk=n!k!(nk)!=(nk)nCk = {n!\over k!(n-k)!} = {n\choose k}

반복문을 이용한 이항계수 구하기

n을 인자로 받아서
반복문을 통해 n * n-1 * n-2 * … * 1 을 구한다
#include <iostream> using namespace std; int fac(int n) { if (num == 0) return 1; int result = 1; for (int i = n; i >= 1; i--) { result *= i; } return result; } int main() { int n, k; cin >> n >> k; cout << fac(n) / fac(k) / fac(n-k); return 0; }
C++
복사

재귀함수를 이용한 이항계수 구하기

n을 인자로 받는다
재귀 함수에서는 순환부와 종료부로 이루어져 있어야 하는데
종료부는 n이 1 또는 0인 경우 return 1을 한다
그렇지 않으면 순환부로 넘어가서
return fac(n-1) * num; 으로 호출하게 된다
#include <iostream> using namespace std; int fac(int n) { if (num == 1 || num == 0) { return 1; } else { return fac(n-1) * num; } } int main() { int n, k; cin >> n >> k; cout << fac(n) / fac(k) / fac(n-k); return 0; }
C++
복사