양의 정수 값으로 'val'이 지정되고 작업은 이항 계수 B(n, k)의 값을 인쇄하는 것입니다. 여기서 n과 k는 0에서 val 사이의 값이므로 결과를 표시합니다.
이항 계수란 무엇입니까
이항 계수(n, k)는 주어진 'n' 가능성에서 'k' 결과를 선택하는 순서입니다. 양의 n과 k의 이항 계수 값은 다음과 같이 주어집니다.
$$C_k^n=\frac{n!}{(n-k)!k!}$$
여기서, n>=k
예시
Input-: B(9,2) Output-:
$$B_2^9=\frac{9!}{(9-2)!2!}$$
$$\frac{9\times 8\times 7\times 6\times 5\times 4\times 3\times 2\times 1}{6\times 5\times 4\times 3\times 2\times 1)\ 곱하기 2\times 1}=\frac{362,880}{1440}=252$$
이항 계수 테이블이란 무엇입니까
이항 계수 테이블은 n과 k 사이에서 생성될 수 있는 여러 값을 계산하기 위해 구성됩니다.
예시
Input-: value = 5 Output-:
아래 프로그램에서 사용된 접근 방식은 다음과 같습니다. -
- 테이블 생성을 위해 사용자로부터 변수 'val' 입력
- 이항 계수 값이 0에서 'val' 사이에 있기 때문에 0에서 'val'까지 루프 시작
-
n과 k가 0이 아니면 주어진 공식을 적용하십시오.
B(m, x) =B(m, x - 1) * (m - x + 1) / x
- 결과 인쇄
알고리즘
START Step 1-> declare function for binomial coefficient table int bin_table(int val) Loop For int i = 0 and i <= val and i++ print i Declare int num = 1 Loop For int j = 0 and j <= i and j++ If (i != 0 && j != 0) set num = num * (i - j + 1) / j End print num End print \n Step 2-> In main() Declare int value = 5 call bin_table(value) STOP
예시
#include <stdio.h> // Function for binomial coefficient table int bin_table(int val) { for (int i = 0; i <= val; i++) { printf("%2d", i); int num = 1; for (int j = 0; j <= i; j++) { if (i != 0 && j != 0) num = num * (i - j + 1) / j; printf("%4d", num); } printf("\n"); } } int main() { int value = 5; bin_table(value); return 0; }
출력