로봇이 되고픈 부엉이

(C 언어) Combination 조합 계산하기 본문

대학생의 그쩍거림/C 언어

(C 언어) Combination 조합 계산하기

탈모탈모대작전 2019. 4. 14. 20:54
728x90
반응형

이번에도 재귀 호출을 연습하는 숙제이다.

 

문제는 다음과 같다.

"

두 정수를 입력 받는다.

조합을 계산한다.

"

 

실행 예시는 다음과 같다.

 

"

10 3

결과 => 120

"

 

#include<stdio.h>
#include<string.h>



long long fact(int num) {
	if (num == 1 || num == 0) {
		return 1;
	}
	return num * fact(num - 1);
}
int combi(int n, int r) {
	if (n == r) {
		return 1;
	}
	int a = fact(n);
	int b = fact(r);
	int c = fact(abs(n - r));
	return a / (b*c);
}
int main() {
	int n, r, res;

	printf("두 정수를 입력하시오: ");
	scanf("%d %d", &n, &r);

	res = combi(n, r);
	printf("c(%d, %d) = %d", n, r, res);


	return 0;
}
728x90
반응형