Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

이항 계수 테이블에 대한 C 프로그램

<시간/>

양의 정수 값으로 '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-:

이항 계수 테이블에 대한 C 프로그램

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다. -

  • 테이블 생성을 위해 사용자로부터 변수 '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;
}

출력

이항 계수 테이블에 대한 C 프로그램