이항계수
이항계수 공식
반복문을 이용한 이항계수 구하기
•
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++
복사