#21. [백준_C언어] 11050 : 이항 계수 1

 

 입력 코드 

#include <stdio.h>

int factorial(int num) {

	int i, ans = 1;

	for (i = 1; i <= num; i++) {
		ans *= i;
	}
	return ans;
}

main() {
	int N, K, C;
	scanf("%d %d", &N, &K);

	C = factorial(N) / (factorial(K)*factorial(N - K));
	
	printf("%d\n", C);
}

 

 코드 설명 

팩토리얼 / 재귀함수를 이용하는 문제

#include <stdio.h>

main() {
	int N, K, C;
	scanf("%d %d", &N, &K);

	int numerator = 1, denominator = 1;
	int i;

	for (i = 0; i < K; i++) {
		numerator *= N - i;
		denominator *= K - i;
	}

	C = denominator / numerator;

	printf("%d", C);
}

처음에는 분자 분모를 따로 반복문으로 계산해서 마지막에 나눈 몫으로 이항계수를 계산했더니 계속 0이 출력되었다. 왜지,,

#include <stdio.h>

int factorial(int num) {

	int i, ans = 1;

	for (i = 1; i <= num; i++) {
		ans *= i;
	}
	return ans;
}

main() {
	int N, K, C;
	scanf("%d %d", &N, &K);

	C = factorial(N) / (factorial(K)*factorial(N - K));
	
	printf("%d\n", C);
}

찾아보니까 팩토리얼을 따로 함수로 작성해서 이항계수를 구하는 방법도 있고 재귀함수를 이용하는 방법도 있다. 그런데 아직 재귀함수까지는 잘 활용하지 못하는 것 같다.

참고한 사이트

hooit.tistory.com/entry/%EB%B0%B1%EC%A4%80-11050%EB%B2%88-%EC%9D%B4%ED%95%AD-%EA%B3%84%EC%88%98-1-C-%EB%AC%B8%EC%A0%9C-%ED%92%80%EC%9D%B4

 

[백준] 11050번 - 이항 계수 1 ( C 문제 풀이 )

백준 11050번 문제 - 이항 계수 1 이항 계수 위키 백과 : 주어진 크기의 조합의 가짓수 입니다.  수학 백과 : 이항 정리에서 전개된 항의 계수 공식 문제 풀이 공식만 잘 보면 너무나 쉽습니다. 물론

hooit.tistory.com

gdlovehush.tistory.com/321

 

이항계수1 백준 11050번

문제 이항 계수1 백준 11050번 리뷰 N개중에 K개를 고르는 이항계수를 작성하는 문제다. 파스칼의 삼각형도 이항계수를 기반으로 풀 수 있다. 재귀로 푼 이항계수 포스팅이 아주 도움됬다. 맞은 코

gdlovehush.tistory.com

 

 

 문제 출처 

www.acmicpc.net/problem/11050

 

11050번: 이항 계수 1

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))

www.acmicpc.net